This script focuses on detecting new cell types at the junction between NG and NE. Figure S13 already covers some of that.

Read in the data

library(scran)
library(scater)
library(DropletUtils)
library(openxlsx)
library(Rtsne)
library(pheatmap)
library(RColorBrewer)
library(edgeR)
library(viridis)
library(corrplot)
library(reshape2)
library(knitr)
library(ape)
library(gridExtra)
source("../Analysis/Functions/auxiliary.R")

sce <- readRDS("~/Dropbox/Postdoc/2019-12-29_BE2020/All_corrected_sce_filtered.rds")
sce <- sce[,sce$include]

# Change cell type names for the paper
sce$cell_type[sce$cell_type == "KRT5_cells"]<-"C1"
sce$cell_type[sce$cell_type == "KRT5.KRT7_cells"]<-"C2"
sce$cell_type[sce$cell_type == "KRT7_cells"]<-"C3"
sce$cell_type[sce$cell_type == "MUC5B_cells"]<-"C4"


sce$cell_type <- factor(sce$cell_type, levels = c(
  "Basal",
  "Suprabasal",
  "Intermediate",
  "Superficial",
  
  "Undifferentiated",
  "Endocrine",
  "Foveolar_Intermediate",
  "Foveolar_differentiated",
  "Parietal",
  "Chief",
  
  "Columnar_Undifferentiated",
  "Columnar_Intermediate",
  "Columnar_differentiated",
  
  "Enterocytes_Intermediate",
  "Enterocytes_differentiated",
  "Paneth",
  
  "Goblet",
  
  "C1",
  "C2",
  "C3",
  "C4",
  
  "Mucous",
  "Oncocytes",
  "Duct_Intercalating",
  "Myo-epithelial",
  "Unknown.Doublets",
  
  "Immune",
  "Stromal",
  "Squamous_Esophagus",
  "Novel"
))

Marker genes expression

Here, we perform pairwise DE testing to find cluster specific marker genes.

Visualize NSCJ

Here, I am only looking at the NSCJ samples. Here I am combining the data for all novel cluster. For the purpose of the figure the following cluster will be merged into the same colour. Actual clustering was performed in the initial analysis (see Preprocessing folder for 4.4_Tissue_correction_filtered.Rmd - clustering of tissue types and 5.4_Reclustering.Rmd for reclusting)

In the final manuscript we changed the names of clusters: original names - new name KRT5_cells - C1_cells KRT5.KRT7_cells - C2_cells KRT7_cells - C3_cells MUC5B_cells - C4_cells

# Select tissues to test
cur_sce <- sce[,sce$include & sce$Tissue %in% c("NSCJ")]
cur_sce<-batchelor::multiBatchNorm(cur_sce, batch = cur_sce[["Sample"]])
# Perform batch correction
# sce.list <- split.sce(cur_sce, unique(cur_sce$Sample), colData.name = "Sample")

# order the samples by size of the sample 
# sce.list <- sce.list[order(unlist(lapply(sce.list, ncol)), decreasing = TRUE)]

# corrected <- batch.correction(sce.list)
# cur_sce <- do.call("cbind", sce.list)

batch.order<-order(table(cur_sce[["Sample"]]), decreasing = TRUE)
corrected <- batch.correction.single(cur_sce, batches = "Sample", m.order = batch.order)
# Compute new tSNE 
set.seed(12345)
tsne <- Rtsne(t(corrected), pca = FALSE, perplexity = 100)
reducedDims(cur_sce)$TSNE <- tsne$Y


# Visualize tSNEs

# Temporarily rename the novel clusters
# For the purpose of the figure the following cluster will be merged into the same colour. Actual clustering was performed in the initial analysis (see Preprocessing folder for 4.4_Tissue_correction_filtered.Rmd - clustering of tissue types and 5.4_Reclustering.Rmd for reclusting)
cell_type.tmp<-cur_sce$cell_type
cur_sce$cell_type[cur_sce$cell_type %in% c("C1", "C2", "C3", "C4")]<-"Novel"

# Cell type
colour_vector <- vector(length = length(unique(cur_sce$cell_type)))
names(colour_vector) <- unique(cur_sce$cell_type)
colour_vector["Superficial"] <- colorRampPalette(c("white", "dark red"))(10)[10]
colour_vector["Basal"] <- colorRampPalette(c("white", "dark red"))(10)[4]
colour_vector["Suprabasal"] <- colorRampPalette(c("white", "dark red"))(10)[6]
colour_vector["Intermediate"] <- colorRampPalette(c("white", "dark red"))(10)[8]

colour_vector["Foveolar_differentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[10]
colour_vector["Endocrine"] <- colorRampPalette(c("white", "dark blue"))(10)[10]
colour_vector["Undifferentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[3]
colour_vector["Foveolar_Intermediate"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[6]
colour_vector["Immune"] <- "grey40"
colour_vector["Stromal"] <- "grey60"

colour_vector["Novel"] <- "orange"

# colour_vector["MUC5B_cells"] <- "saddlebrown"
# colour_vector["KRT7_cells"] <- "burlywood3"
# colour_vector["KRT5.KRT7_cells"] <- "burlywood4"
# colour_vector["KRT5_cells"] <- "orange"



p.all.cells.cell_type <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                           tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                           tissue = colData(cur_sce)$cell_type)) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = colour_vector) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()) + 
  xlab("t-SNE 1")  + 
  ylab("t-SNE 2") + 
  guides(colour = guide_legend(override.aes = list(size=4), title = "Cell Type"))

p.all.cells.cell_type

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_novel.pdf", p.all.cells.cell_type, width = 7, height = 5, useDingbats = FALSE)



#Get the expression values
genes<-c("MUC5B", "KRT7", "CHGA", "MUC5AC", "KRT8", "KRT4", "KRT14", "KRT5", "TP63", "PTPRC", "MUC2")

meanexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), mean)
meanexpression <- melt(meanexpression)
## Using Group.1 as id variables
colnames(meanexpression) <- c("Cell_type", "gene", "mean_expression")

propnozero <- function(x) {
  length(x[x>1])/length(x)
}

nonzeroexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), propnozero)
nonzeroexpression <- melt(nonzeroexpression)
## Using Group.1 as id variables
colnames(nonzeroexpression) <- c("Cell_type", "gene", "proportion")

expression.df <- merge(meanexpression, nonzeroexpression )
expression.df$gene <- rowData(cur_sce)$Symbol[match (expression.df$gene, rowData(cur_sce)$ID)]
expression.df$Cell_type <- factor(expression.df$Cell_type, levels = c("Immune", "Stromal", "Basal", "Suprabasal", "Intermediate", "Superficial", "Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine", "Novel"  ))
expression.df$gene <- factor(expression.df$gene, levels = genes)

expression.df$Tissue_type <- NA
expression.df$Tissue_type[expression.df$Cell_type %in% c("Immune", "Stromal")] <- "Nonepithelial"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Basal", "Suprabasal", "Intermediate", "Superficial")] <- "Oesophageal"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine")] <- "Gastric"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Novel")] <- "Novel"
expression.df$mean_expression2 <- ifelse(expression.df$mean_expression >4, yes = 4, no = expression.df$mean_expression )


expression.plot <- ggplot(expression.df) + 
  geom_point(aes(y = gene, x = Cell_type, size = mean_expression2, colour = Tissue_type)) + 
  theme_bw() + 
  theme(panel.border = element_blank(), 
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(), 
        axis.line = element_line(colour = "black")) +  
  scale_size_continuous(range=c(0, 6), limits = c(0,4), breaks = c(0,1,2,3,4)) +  
  scale_color_manual(values = c("#4DBBD5FF", "grey40", "orange", "darkred" ))+ 
  theme(axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1))

print(expression.plot)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_expression.pdf", expression.plot, width = 4, height = 6, useDingbats = FALSE)

Visualize NSCJ after reclustering

Here, I am only looking at the NSCJ samples and I will be using all cluster names.

# Restore cluster names
cur_sce$cell_type <- cell_type.tmp



# Cell type
colour_vector <- vector(length = length(unique(cur_sce$cell_type)))
names(colour_vector) <- unique(cur_sce$cell_type)
colour_vector["Superficial"] <- colorRampPalette(c("white", "dark red"))(10)[10]
colour_vector["Basal"] <- colorRampPalette(c("white", "dark red"))(10)[4]
colour_vector["Suprabasal"] <- colorRampPalette(c("white", "dark red"))(10)[6]
colour_vector["Intermediate"] <- colorRampPalette(c("white", "dark red"))(10)[8]

colour_vector["Foveolar_differentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[10]
colour_vector["Endocrine"] <- colorRampPalette(c("white", "dark blue"))(10)[10]
colour_vector["Undifferentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[3]
colour_vector["Foveolar_Intermediate"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[6]
colour_vector["Immune"] <- "grey40"
colour_vector["Stromal"] <- "grey60"

# colour_vector["Novel"] <- "orange"

colour_vector["C4"] <- "saddlebrown"
colour_vector["C3"] <- "burlywood3"
colour_vector["C2"] <- "burlywood4"
colour_vector["C1"] <- "orange"



p.all.cells.cell_type_all <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                           tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                           tissue = colData(cur_sce)$cell_type)) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = colour_vector) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()) + 
  xlab("t-SNE 1")  + 
  ylab("t-SNE 2") + 
  guides(colour = guide_legend(override.aes = list(size=4), title = "Cell Type"))

p.all.cells.cell_type_all

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_all_types.pdf", p.all.cells.cell_type_all, width = 7, height = 5, useDingbats = FALSE)



#Get the expression values
genes<-c("MUC5B", "KRT7", "KRT5", "TP63", "CHGA", "MUC5AC", "KRT8", "KRT4", "KRT14", "PTPRC", "MUC2")

meanexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), mean)
meanexpression <- melt(meanexpression)
## Using Group.1 as id variables
colnames(meanexpression) <- c("Cell_type", "gene", "mean_expression")

propnozero <- function(x) {
  length(x[x>1])/length(x)
}

nonzeroexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), propnozero)
nonzeroexpression <- melt(nonzeroexpression)
## Using Group.1 as id variables
colnames(nonzeroexpression) <- c("Cell_type", "gene", "proportion")

expression.df <- merge(meanexpression, nonzeroexpression )
expression.df$gene <- rowData(cur_sce)$Symbol[match (expression.df$gene, rowData(cur_sce)$ID)]
expression.df$Cell_type <- factor(expression.df$Cell_type, levels = c("Immune", "Stromal", "Basal", "Suprabasal", "Intermediate", "Superficial", "Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine", "C1", "C2", "C3", "C4"))
expression.df$gene <- factor(expression.df$gene, levels = genes)

expression.df$Tissue_type <- NA
expression.df$Tissue_type[expression.df$Cell_type %in% c("Immune", "Stromal")] <- "Nonepithelial"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Basal", "Suprabasal", "Intermediate", "Superficial")] <- "Oesophageal"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine")] <- "Gastric"
expression.df$Tissue_type[expression.df$Cell_type %in% c("C1", "C2", "C3", "C4")] <- "Novel"
expression.df$mean_expression2 <- ifelse(expression.df$mean_expression >4, yes = 4, no = expression.df$mean_expression )


expression.plot_all <- ggplot(expression.df) + geom_point(aes(y = gene, x = Cell_type, size = mean_expression2, colour = Tissue_type)) + theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                                                                                                                                                        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) +  scale_size_continuous(range=c(0, 3), limits = c(0,4), breaks = c(0,1,2,3,4)) +  scale_color_manual(values = c("#4DBBD5FF", "grey40", "orange", "darkred" ))+ theme(axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1))
print(expression.plot_all)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_expression_all.pdf", expression.plot_all, width = 5, height = 6, useDingbats = FALSE)


# check if there is correlation with size factors
p.all.cells.size <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                      tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                      sf = sizeFactors(cur_sce))) +
  #geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = sf), size = 0.5) +
  scale_colour_viridis(option = "A") +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_line(colour = "grey"))

p.all.cells.size

# check if there is correlation with transcript count
p.all.cells.tcounts <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                         tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                         total_count = log10(cur_sce$total_counts))) +
  #geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = total_count), size = 0.5) +
  scale_colour_viridis(option = "A") +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_line(colour = "grey"))

p.all.cells.tcounts

# check if there is correlation with gene count
p.all.cells.fcounts <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                         tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                         feature_count = (cur_sce$total_features_by_counts))) +
  #geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = feature_count), size = 0.5) +
  scale_colour_viridis(option = "A") +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_line(colour = "grey"))

p.all.cells.fcounts

# Visualize patient
# Colouring for patient
colour_patient <- vector(length = length(unique(cur_sce$Patient)))
names(colour_patient) <- unique(cur_sce$Patient)
colour_patient <- brewer.pal(11, "Set3")

p.all.cells.patient <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                         tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                         tissue = colData(cur_sce)$Patient)) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = colour_patient) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_line(colour = "grey"))
p.all.cells.patient

# marker expression
gene<-"MUC5B"
p.gene.expression<-ggplot(data.frame(tSNE1 =  reducedDims(cur_sce)$TSNE[,1],
                                     tSNE2 =  reducedDims(cur_sce)$TSNE[,2],
                                     gene = logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene,]))  +
  geom_point(aes(tSNE1, tSNE2, colour = gene), size = 0.5) + scale_colour_viridis(option = "A", name = "log2(Expr)") +
  guides(alpha=FALSE) + ggtitle(gene)  + theme(panel.grid.major = element_blank(), 
                                               panel.grid.minor = element_blank(),
                                               panel.background = element_blank(), 
                                               axis.line = element_line(colour = "grey"))
p.gene.expression

gene<-"KRT5"
p.gene.expression<-ggplot(data.frame(tSNE1 =  reducedDims(cur_sce)$TSNE[,1],
                                     tSNE2 =  reducedDims(cur_sce)$TSNE[,2],
                                     gene = logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene,]))  +
  geom_point(aes(tSNE1, tSNE2, colour = gene), size = 0.5) + scale_colour_viridis(option = "A", name = "log2(Expr)") +
  guides(alpha=FALSE) + ggtitle(gene) + theme(panel.grid.major = element_blank(), 
                                              panel.grid.minor = element_blank(),
                                              panel.background = element_blank(), 
                                              axis.line = element_line(colour = "grey"))
p.gene.expression

gene<-"KRT7"
p.gene.expression<-ggplot(data.frame(tSNE1 =  reducedDims(cur_sce)$TSNE[,1],
                                     tSNE2 =  reducedDims(cur_sce)$TSNE[,2],
                                     gene = logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene,]))  +
  geom_point(aes(tSNE1, tSNE2, colour = gene), size = 0.5) + scale_colour_viridis(option = "A", name = "log2(Expr)") +
  guides(alpha=FALSE) + ggtitle(gene) + theme(panel.grid.major = element_blank(), 
                                              panel.grid.minor = element_blank(),
                                              panel.background = element_blank(), 
                                              axis.line = element_line(colour = "grey"))
p.gene.expression

gene<-"TP63"
p.gene.expression<-ggplot(data.frame(tSNE1 =  reducedDims(cur_sce)$TSNE[,1],
                                     tSNE2 =  reducedDims(cur_sce)$TSNE[,2],
                                     gene = logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene,]))  +
  geom_point(aes(tSNE1, tSNE2, colour = gene), size = 0.5) + scale_colour_viridis(option = "A", name = "log2(Expr)") +
  guides(alpha=FALSE) + ggtitle(gene) + theme(panel.grid.major = element_blank(), 
                                              panel.grid.minor = element_blank(),
                                              panel.background = element_blank(), 
                                              axis.line = element_line(colour = "grey"))
p.gene.expression

gene1 <-"TP63"
gene2 <-"KRT7"
gene3 <-"KRT5"

clusters<-factor(rep(colData(cur_sce)$cell_type, 3))#, levels = as.character(as.factor(sort(as.numeric(unique(colData(cur_sce)$cell_type))))))
#get data for the second gene
all_data <- data.frame(gene = c(logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene1,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene2,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene3,]),
                       symbol = rep(c(gene1, gene2, gene3), each = ncol(cur_sce)),
                       tissue = factor(rep(colData(cur_sce)$Tissue, 3)),
                       clusters = clusters)


ggplot(all_data) + 
  geom_boxplot(aes(clusters, gene, fill = symbol)) + facet_wrap(. ~ tissue) + theme_bw()+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) 

library(GGally)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
all_data <- data.frame(TP63 =   logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene1,],
                       KRT7 = logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene2,],
                       KRT5 =logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene3,],
                       MUC5B = logcounts(cur_sce)[rowData(cur_sce)$Symbol == "MUC5B",],
                       clusters = factor(cur_sce$cell_type)
)
ggscatmat(all_data, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

all_data2 <- all_data[all_data$KRT5 >0 & all_data$KRT7>0,]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("KRT5 and KRT7 positive cells")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.
## Warning: Removed 6145 rows containing missing values (geom_path).

## Warning: Removed 6145 rows containing missing values (geom_path).

## Warning: Removed 6145 rows containing missing values (geom_path).

## Warning: Removed 6145 rows containing missing values (geom_path).

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##             0.048421053             0.070818071             0.158886389 
##             Superficial        Undifferentiated               Endocrine 
##             0.227480916             0.077777778             0.006802721 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##             0.085106383             0.031630170             0.216216216 
##                      C2                      C3                      C4 
##             0.615384615             0.500000000             0.354838710 
##                  Immune                 Stromal 
##             0.000000000             0.018348624
all_data2 <- all_data[all_data$TP63 > 0 & all_data$KRT7 > 0,]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("TP63 and KRT7 positive cells")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.
## Warning: Removed 3586 rows containing missing values (geom_path).

## Warning: Removed 3586 rows containing missing values (geom_path).

## Warning: Removed 3586 rows containing missing values (geom_path).

## Warning: Removed 3586 rows containing missing values (geom_path).

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##             0.025263158             0.033577534             0.084926884 
##             Superficial        Undifferentiated               Endocrine 
##             0.037786260             0.000000000             0.000000000 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##             0.001519757             0.000811030             0.040540541 
##                      C2                      C3                      C4 
##             0.153846154             0.031914894             0.000000000 
##                  Immune                 Stromal 
##             0.000000000             0.000000000
all_data2 <- all_data[all_data$TP63 > 0 & all_data$KRT5 > 0,]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("TP63 and KRT5 positive cells")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.

## Warning: Groups with fewer than two data points have been dropped.
## Warning: Removed 3589 rows containing missing values (geom_path).

## Warning: Removed 3589 rows containing missing values (geom_path).

## Warning: Removed 3589 rows containing missing values (geom_path).

## Warning: Removed 3589 rows containing missing values (geom_path).

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##             0.541052632             0.439560440             0.378233971 
##             Superficial        Undifferentiated               Endocrine 
##             0.070992366             0.002777778             0.006802721 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##             0.001519757             0.000811030             0.270270270 
##                      C2                      C3                      C4 
##             0.153846154             0.031914894             0.000000000 
##                  Immune                 Stromal 
##             0.002100840             0.000000000
all_data2 <- all_data[all_data$TP63 > 0 & all_data$KRT5 > 0 & all_data$KRT7 > 0,]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("TP63, KRT5 and KRT7 positive cells")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##              0.02526316              0.03296703              0.07536558 
##             Superficial        Undifferentiated               Endocrine 
##              0.02709924              0.00000000              0.00000000 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##              0.00000000              0.00000000              0.04054054 
##                      C2                      C3                      C4 
##              0.15384615              0.03191489              0.00000000 
##                  Immune                 Stromal 
##              0.00000000              0.00000000
all_data2 <- all_data[all_data$clusters %in% c("C1", "C2", "C3", "C4"),]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("Novel cell types only")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##                       0                       0                       0 
##             Superficial        Undifferentiated               Endocrine 
##                       0                       0                       0 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##                       0                       0                       1 
##                      C2                      C3                      C4 
##                       1                       1                       1 
##                  Immune                 Stromal 
##                       0                       0
all_data2 <- all_data[all_data$TP63 > 0 & all_data$KRT5 > 0 & all_data$KRT7 > 0 &all_data$clusters %in% c("C1", "C2", "C3", "C4"),]
# all_data2$clusters <- factor(all_data2$clusters)
ggscatmat(all_data2, columns = 1:4, color = "clusters", ) + 
  scale_color_manual(values = colour_vector)+
  ggtitle("TP63, KRT5 and KRT7 positive cells in novel cell types")
## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

## Warning in cor(xvalue, yvalue, use = "pairwise.complete.obs", method =
## corMethod): the standard deviation is zero

table(all_data2$clusters)/table(all_data$clusters)
## 
##                   Basal              Suprabasal            Intermediate 
##              0.00000000              0.00000000              0.00000000 
##             Superficial        Undifferentiated               Endocrine 
##              0.00000000              0.00000000              0.00000000 
##   Foveolar_Intermediate Foveolar_differentiated                      C1 
##              0.00000000              0.00000000              0.04054054 
##                      C2                      C3                      C4 
##              0.15384615              0.03191489              0.00000000 
##                  Immune                 Stromal 
##              0.00000000              0.00000000
gene1 <-"MUC5B"
gene2 <-"MUC5AC"
gene3 <-"MUC2"

clusters<-factor(rep(colData(cur_sce)$cell_type, 3))#, levels = as.character(as.factor(sort(as.numeric(unique(colData(cur_sce)$cell_type))))))
#get data for the second gene
all_data <- data.frame(gene = c(logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene1,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene2,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene3,]),
                       symbol = rep(c(gene1, gene2, gene3), each = ncol(cur_sce)),
                       tissue = factor(rep(colData(cur_sce)$Tissue, 3)),
                       clusters = clusters)


ggplot(all_data) + 
  geom_boxplot(aes(clusters, gene, fill = symbol)) + facet_wrap(. ~ tissue) + theme_bw()+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) 

gene1 <-"REG4"
gene2 <-"FABP1"
gene3 <-"CHGA"

clusters<-factor(rep(colData(cur_sce)$cell_type, 3))#, levels = as.character(as.factor(sort(as.numeric(unique(colData(cur_sce)$cell_type))))))
#get data for the second gene
all_data <- data.frame(gene = c(logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene1,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene2,],
                                logcounts(cur_sce)[rowData(cur_sce)$Symbol == gene3,]),
                       symbol = rep(c(gene1, gene2, gene3), each = ncol(cur_sce)),
                       tissue = factor(rep(colData(cur_sce)$Tissue, 3)),
                       clusters = clusters)


ggplot(all_data) + 
  geom_boxplot(aes(clusters, gene, fill = symbol)) + facet_wrap(. ~ tissue) + theme_bw()+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) 

Marker genes expression

Here, we perform pairwise DE testing to find cluster specific marker genes.

# Remove non-expressed genes
cur_sce <- cur_sce[Matrix::rowSums(counts(cur_sce)) > 0,]

# Perform DE to find marker genes
DE.genes <- multi.DE(sce = cur_sce, 
                     conditions = cur_sce$cell_type_secondary,
                     covariate = cur_sce$Patient,
                     lfc = 0.5,
                     FDR = 0.1)
##  [1] "Patient04 Intermediate" "Patient04 Superficial"  "Patient13 Intermediate"
##  [4] "Patient13 Superficial"  "Patient02 Intermediate" "Patient02 Superficial" 
##  [7] "Patient05 Superficial"  "Patient05 Intermediate" "Patient06 Intermediate"
## [10] "Patient06 Superficial"  "Patient10 Intermediate" "Patient10 Superficial" 
## [13] "Patient08 Intermediate" "Patient08 Superficial" 
##  [1] "Patient04 Intermediate" "Patient04 Suprabasal"   "Patient13 Intermediate"
##  [4] "Patient13 Suprabasal"   "Patient02 Intermediate" "Patient02 Suprabasal"  
##  [7] "Patient05 Intermediate" "Patient05 Suprabasal"   "Patient06 Intermediate"
## [10] "Patient06 Suprabasal"   "Patient10 Intermediate" "Patient10 Suprabasal"  
## [13] "Patient08 Intermediate" "Patient08 Suprabasal"  
##  [1] "Patient04 Intermediate"        "Patient04 Stromal_GNG11_cells"
##  [3] "Patient13 Intermediate"        "Patient13 Stromal_GNG11_cells"
##  [5] "Patient02 Intermediate"        "Patient02 Stromal_GNG11_cells"
##  [7] "Patient05 Intermediate"        "Patient05 Stromal_GNG11_cells"
##  [9] "Patient06 Intermediate"        "Patient06 Stromal_GNG11_cells"
## [11] "Patient10 Intermediate"        "Patient10 Stromal_GNG11_cells"
## [13] "Patient08 Intermediate"        "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Intermediate" "Patient04 KRT7_cells"   "Patient13 Intermediate"
##  [4] "Patient13 KRT7_cells"   "Patient02 Intermediate" "Patient05 Intermediate"
##  [7] "Patient06 Intermediate" "Patient06 KRT7_cells"   "Patient10 Intermediate"
## [10] "Patient10 KRT7_cells"   "Patient08 Intermediate"
##  [1] "Patient04 Intermediate"        "Patient04 Stromal_CALD1_cells"
##  [3] "Patient13 Intermediate"        "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Intermediate"        "Patient05 Intermediate"       
##  [7] "Patient06 Intermediate"        "Patient06 Stromal_CALD1_cells"
##  [9] "Patient10 Intermediate"        "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Intermediate"        "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Intermediate"   "Patient04 Immune_T_cells"
##  [3] "Patient13 Intermediate"   "Patient13 Immune_T_cells"
##  [5] "Patient02 Intermediate"   "Patient02 Immune_T_cells"
##  [7] "Patient05 Intermediate"   "Patient06 Intermediate"  
##  [9] "Patient06 Immune_T_cells" "Patient10 Intermediate"  
## [11] "Patient10 Immune_T_cells" "Patient08 Intermediate"  
## [13] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
##  [1] "Patient04 Intermediate"          "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Intermediate"          "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Intermediate"          "Patient02 Foveolar_Intermediate"
##  [7] "Patient05 Intermediate"          "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Intermediate"          "Patient06 Foveolar_Intermediate"
## [11] "Patient10 Intermediate"          "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Intermediate"         
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Intermediate"   "Patient04 Endocrine_CHGA"
##  [3] "Patient13 Intermediate"   "Patient02 Intermediate"  
##  [5] "Patient02 Endocrine_CHGA" "Patient05 Intermediate"  
##  [7] "Patient05 Endocrine_CHGA" "Patient06 Intermediate"  
##  [9] "Patient06 Endocrine_CHGA" "Patient10 Intermediate"  
## [11] "Patient10 Endocrine_CHGA" "Patient08 Intermediate"  
## [13] "Patient08 Endocrine_CHGA" "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Intermediate" "Patient04 Basal"        "Patient13 Basal"       
##  [4] "Patient13 Intermediate" "Patient02 Intermediate" "Patient02 Basal"       
##  [7] "Patient05 Intermediate" "Patient05 Basal"        "Patient06 Intermediate"
## [10] "Patient06 Basal"        "Patient10 Basal"        "Patient10 Intermediate"
## [13] "Patient08 Intermediate" "Patient08 Basal"       
##  [1] "Patient04 Intermediate"        "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Intermediate"        "Patient13 Suprabasal_Dividing"
##  [5] "Patient02 Intermediate"        "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Intermediate"        "Patient05 Suprabasal_Dividing"
##  [9] "Patient06 Intermediate"        "Patient06 Suprabasal_Dividing"
## [11] "Patient10 Suprabasal_Dividing" "Patient10 Intermediate"       
## [13] "Patient08 Intermediate"        "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Intermediate"       "Patient04 Immune_Macrophages"
##  [3] "Patient13 Intermediate"       "Patient13 Immune_Macrophages"
##  [5] "Patient02 Intermediate"       "Patient02 Immune_Macrophages"
##  [7] "Patient05 Intermediate"       "Patient06 Intermediate"      
##  [9] "Patient06 Immune_Macrophages" "Patient10 Intermediate"      
## [11] "Patient10 Immune_Macrophages" "Patient08 Intermediate"      
## [13] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
##  [1] "Patient04 Intermediate" "Patient04 KRT5_cells"   "Patient13 Intermediate"
##  [4] "Patient13 KRT5_cells"   "Patient02 Intermediate" "Patient05 Intermediate"
##  [7] "Patient06 Intermediate" "Patient06 KRT5_cells"   "Patient10 Intermediate"
## [10] "Patient10 KRT5_cells"   "Patient08 Intermediate"
##  [1] "Patient04 Intermediate" "Patient04 MUC5B_cells"  "Patient13 Intermediate"
##  [4] "Patient13 MUC5B_cells"  "Patient02 Intermediate" "Patient05 Intermediate"
##  [7] "Patient06 Intermediate" "Patient10 Intermediate" "Patient10 MUC5B_cells" 
## [10] "Patient08 Intermediate"
##  [1] "Patient04 Intermediate"            "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Intermediate"            "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Intermediate"            "Patient02 Foveolar_differentiated"
##  [7] "Patient05 Intermediate"            "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Intermediate"            "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Intermediate"           
## [13] "Patient08 Intermediate"            "Patient08 Foveolar_differentiated"
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Intermediate"     "Patient04 Undifferentiated"
##  [3] "Patient13 Intermediate"     "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient02 Intermediate"    
##  [7] "Patient05 Intermediate"     "Patient06 Intermediate"    
##  [9] "Patient06 Undifferentiated" "Patient10 Undifferentiated"
## [11] "Patient10 Intermediate"     "Patient08 Intermediate"    
## [13] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [1] "Patient04 Intermediate"    "Patient13 Intermediate"   
## [3] "Patient13 KRT5.KRT7_cells" "Patient02 Intermediate"   
## [5] "Patient05 Intermediate"    "Patient06 Intermediate"   
## [7] "Patient10 Intermediate"    "Patient10 KRT5.KRT7_cells"
## [9] "Patient08 Intermediate"   
##  [1] "Patient04 Intermediate"   "Patient13 Intermediate"  
##  [3] "Patient13 Immune_B_cells" "Patient02 Intermediate"  
##  [5] "Patient02 Immune_B_cells" "Patient05 Intermediate"  
##  [7] "Patient05 Immune_B_cells" "Patient06 Intermediate"  
##  [9] "Patient06 Immune_B_cells" "Patient10 Intermediate"  
## [11] "Patient10 Immune_B_cells" "Patient08 Intermediate"  
## [13] "Patient08 Immune_B_cells"
##  [1] "Patient04 Intermediate"   "Patient13 Intermediate"  
##  [3] "Patient02 Intermediate"   "Patient02 Endocrine_GHRL"
##  [5] "Patient05 Intermediate"   "Patient05 Endocrine_GHRL"
##  [7] "Patient06 Intermediate"   "Patient06 Endocrine_GHRL"
##  [9] "Patient10 Intermediate"   "Patient10 Endocrine_GHRL"
## [11] "Patient08 Intermediate"   "Patient08 Endocrine_GHRL"
## [13] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Superficial" "Patient04 Suprabasal"  "Patient13 Suprabasal" 
##  [4] "Patient13 Superficial" "Patient02 Suprabasal"  "Patient02 Superficial"
##  [7] "Patient05 Superficial" "Patient05 Suprabasal"  "Patient06 Superficial"
## [10] "Patient06 Suprabasal"  "Patient10 Superficial" "Patient10 Suprabasal" 
## [13] "Patient08 Suprabasal"  "Patient08 Superficial"
##  [1] "Patient04 Superficial"         "Patient04 Stromal_GNG11_cells"
##  [3] "Patient13 Superficial"         "Patient13 Stromal_GNG11_cells"
##  [5] "Patient02 Stromal_GNG11_cells" "Patient02 Superficial"        
##  [7] "Patient05 Superficial"         "Patient05 Stromal_GNG11_cells"
##  [9] "Patient06 Superficial"         "Patient06 Stromal_GNG11_cells"
## [11] "Patient10 Stromal_GNG11_cells" "Patient10 Superficial"        
## [13] "Patient08 Superficial"         "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Superficial" "Patient04 KRT7_cells"  "Patient13 Superficial"
##  [4] "Patient13 KRT7_cells"  "Patient02 Superficial" "Patient05 Superficial"
##  [7] "Patient06 Superficial" "Patient06 KRT7_cells"  "Patient10 Superficial"
## [10] "Patient10 KRT7_cells"  "Patient08 Superficial"
##  [1] "Patient04 Superficial"         "Patient04 Stromal_CALD1_cells"
##  [3] "Patient13 Superficial"         "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Superficial"         "Patient05 Superficial"        
##  [7] "Patient06 Superficial"         "Patient06 Stromal_CALD1_cells"
##  [9] "Patient10 Superficial"         "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Superficial"         "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Superficial"    "Patient04 Immune_T_cells"
##  [3] "Patient13 Superficial"    "Patient13 Immune_T_cells"
##  [5] "Patient02 Superficial"    "Patient02 Immune_T_cells"
##  [7] "Patient05 Superficial"    "Patient06 Superficial"   
##  [9] "Patient06 Immune_T_cells" "Patient10 Superficial"   
## [11] "Patient10 Immune_T_cells" "Patient08 Superficial"   
## [13] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
##  [1] "Patient04 Superficial"           "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Superficial"           "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Superficial"          
##  [7] "Patient05 Superficial"           "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Superficial"           "Patient06 Foveolar_Intermediate"
## [11] "Patient10 Superficial"           "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Superficial"          
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Superficial"    "Patient04 Endocrine_CHGA"
##  [3] "Patient13 Superficial"    "Patient02 Endocrine_CHGA"
##  [5] "Patient02 Superficial"    "Patient05 Superficial"   
##  [7] "Patient05 Endocrine_CHGA" "Patient06 Superficial"   
##  [9] "Patient06 Endocrine_CHGA" "Patient10 Superficial"   
## [11] "Patient10 Endocrine_CHGA" "Patient08 Endocrine_CHGA"
## [13] "Patient08 Superficial"    "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Superficial" "Patient04 Basal"       "Patient13 Basal"      
##  [4] "Patient13 Superficial" "Patient02 Basal"       "Patient02 Superficial"
##  [7] "Patient05 Superficial" "Patient05 Basal"       "Patient06 Superficial"
## [10] "Patient06 Basal"       "Patient10 Basal"       "Patient10 Superficial"
## [13] "Patient08 Basal"       "Patient08 Superficial"
##  [1] "Patient04 Superficial"         "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Superficial"        
##  [5] "Patient02 Superficial"         "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Superficial"         "Patient05 Suprabasal_Dividing"
##  [9] "Patient06 Superficial"         "Patient06 Suprabasal_Dividing"
## [11] "Patient10 Suprabasal_Dividing" "Patient10 Superficial"        
## [13] "Patient08 Suprabasal_Dividing" "Patient08 Superficial"        
##  [1] "Patient04 Superficial"        "Patient04 Immune_Macrophages"
##  [3] "Patient13 Superficial"        "Patient13 Immune_Macrophages"
##  [5] "Patient02 Immune_Macrophages" "Patient02 Superficial"       
##  [7] "Patient05 Superficial"        "Patient06 Superficial"       
##  [9] "Patient06 Immune_Macrophages" "Patient10 Superficial"       
## [11] "Patient10 Immune_Macrophages" "Patient08 Superficial"       
## [13] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
##  [1] "Patient04 Superficial" "Patient04 KRT5_cells"  "Patient13 Superficial"
##  [4] "Patient13 KRT5_cells"  "Patient02 Superficial" "Patient05 Superficial"
##  [7] "Patient06 Superficial" "Patient06 KRT5_cells"  "Patient10 Superficial"
## [10] "Patient10 KRT5_cells"  "Patient08 Superficial"
##  [1] "Patient04 Superficial" "Patient04 MUC5B_cells" "Patient13 Superficial"
##  [4] "Patient13 MUC5B_cells" "Patient02 Superficial" "Patient05 Superficial"
##  [7] "Patient06 Superficial" "Patient10 MUC5B_cells" "Patient10 Superficial"
## [10] "Patient08 Superficial"
##  [1] "Patient04 Superficial"             "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Superficial"             "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Superficial"            
##  [7] "Patient05 Superficial"             "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Superficial"             "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Superficial"            
## [13] "Patient08 Foveolar_differentiated" "Patient08 Superficial"            
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Superficial"      "Patient04 Undifferentiated"
##  [3] "Patient13 Superficial"      "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient02 Superficial"     
##  [7] "Patient05 Superficial"      "Patient06 Superficial"     
##  [9] "Patient06 Undifferentiated" "Patient10 Undifferentiated"
## [11] "Patient10 Superficial"      "Patient08 Superficial"     
## [13] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [1] "Patient04 Superficial"     "Patient13 Superficial"    
## [3] "Patient13 KRT5.KRT7_cells" "Patient02 Superficial"    
## [5] "Patient05 Superficial"     "Patient06 Superficial"    
## [7] "Patient10 Superficial"     "Patient10 KRT5.KRT7_cells"
## [9] "Patient08 Superficial"    
##  [1] "Patient04 Superficial"    "Patient13 Superficial"   
##  [3] "Patient13 Immune_B_cells" "Patient02 Superficial"   
##  [5] "Patient02 Immune_B_cells" "Patient05 Superficial"   
##  [7] "Patient05 Immune_B_cells" "Patient06 Superficial"   
##  [9] "Patient06 Immune_B_cells" "Patient10 Superficial"   
## [11] "Patient10 Immune_B_cells" "Patient08 Superficial"   
## [13] "Patient08 Immune_B_cells"
##  [1] "Patient04 Superficial"    "Patient13 Superficial"   
##  [3] "Patient02 Endocrine_GHRL" "Patient02 Superficial"   
##  [5] "Patient05 Superficial"    "Patient05 Endocrine_GHRL"
##  [7] "Patient06 Superficial"    "Patient06 Endocrine_GHRL"
##  [9] "Patient10 Superficial"    "Patient10 Endocrine_GHRL"
## [11] "Patient08 Endocrine_GHRL" "Patient08 Superficial"   
## [13] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Suprabasal"          "Patient04 Stromal_GNG11_cells"
##  [3] "Patient13 Suprabasal"          "Patient13 Stromal_GNG11_cells"
##  [5] "Patient02 Suprabasal"          "Patient02 Stromal_GNG11_cells"
##  [7] "Patient05 Stromal_GNG11_cells" "Patient05 Suprabasal"         
##  [9] "Patient06 Suprabasal"          "Patient06 Stromal_GNG11_cells"
## [11] "Patient10 Stromal_GNG11_cells" "Patient10 Suprabasal"         
## [13] "Patient08 Suprabasal"          "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Suprabasal" "Patient04 KRT7_cells" "Patient13 Suprabasal"
##  [4] "Patient13 KRT7_cells" "Patient02 Suprabasal" "Patient05 Suprabasal"
##  [7] "Patient06 Suprabasal" "Patient06 KRT7_cells" "Patient10 KRT7_cells"
## [10] "Patient10 Suprabasal" "Patient08 Suprabasal"
##  [1] "Patient04 Suprabasal"          "Patient04 Stromal_CALD1_cells"
##  [3] "Patient13 Suprabasal"          "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Suprabasal"          "Patient05 Suprabasal"         
##  [7] "Patient06 Suprabasal"          "Patient06 Stromal_CALD1_cells"
##  [9] "Patient10 Suprabasal"          "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Suprabasal"          "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Suprabasal"     "Patient04 Immune_T_cells"
##  [3] "Patient13 Suprabasal"     "Patient13 Immune_T_cells"
##  [5] "Patient02 Suprabasal"     "Patient02 Immune_T_cells"
##  [7] "Patient05 Suprabasal"     "Patient06 Suprabasal"    
##  [9] "Patient06 Immune_T_cells" "Patient10 Immune_T_cells"
## [11] "Patient10 Suprabasal"     "Patient08 Suprabasal"    
## [13] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
##  [1] "Patient04 Suprabasal"            "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Suprabasal"            "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Suprabasal"           
##  [7] "Patient05 Suprabasal"            "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Suprabasal"            "Patient06 Foveolar_Intermediate"
## [11] "Patient10 Suprabasal"            "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Suprabasal"           
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Suprabasal"     "Patient04 Endocrine_CHGA"
##  [3] "Patient13 Suprabasal"     "Patient02 Suprabasal"    
##  [5] "Patient02 Endocrine_CHGA" "Patient05 Suprabasal"    
##  [7] "Patient05 Endocrine_CHGA" "Patient06 Suprabasal"    
##  [9] "Patient06 Endocrine_CHGA" "Patient10 Suprabasal"    
## [11] "Patient10 Endocrine_CHGA" "Patient08 Endocrine_CHGA"
## [13] "Patient08 Suprabasal"     "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Suprabasal" "Patient04 Basal"      "Patient13 Basal"     
##  [4] "Patient13 Suprabasal" "Patient02 Suprabasal" "Patient02 Basal"     
##  [7] "Patient05 Basal"      "Patient05 Suprabasal" "Patient06 Suprabasal"
## [10] "Patient06 Basal"      "Patient10 Basal"      "Patient10 Suprabasal"
## [13] "Patient08 Basal"      "Patient08 Suprabasal"
##  [1] "Patient04 Suprabasal"          "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Suprabasal"         
##  [5] "Patient02 Suprabasal"          "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Suprabasal"          "Patient05 Suprabasal_Dividing"
##  [9] "Patient06 Suprabasal"          "Patient06 Suprabasal_Dividing"
## [11] "Patient10 Suprabasal_Dividing" "Patient10 Suprabasal"         
## [13] "Patient08 Suprabasal"          "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Suprabasal"         "Patient04 Immune_Macrophages"
##  [3] "Patient13 Suprabasal"         "Patient13 Immune_Macrophages"
##  [5] "Patient02 Suprabasal"         "Patient02 Immune_Macrophages"
##  [7] "Patient05 Suprabasal"         "Patient06 Suprabasal"        
##  [9] "Patient06 Immune_Macrophages" "Patient10 Suprabasal"        
## [11] "Patient10 Immune_Macrophages" "Patient08 Suprabasal"        
## [13] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
##  [1] "Patient04 Suprabasal" "Patient04 KRT5_cells" "Patient13 Suprabasal"
##  [4] "Patient13 KRT5_cells" "Patient02 Suprabasal" "Patient05 Suprabasal"
##  [7] "Patient06 Suprabasal" "Patient06 KRT5_cells" "Patient10 Suprabasal"
## [10] "Patient10 KRT5_cells" "Patient08 Suprabasal"
##  [1] "Patient04 Suprabasal"  "Patient04 MUC5B_cells" "Patient13 Suprabasal" 
##  [4] "Patient13 MUC5B_cells" "Patient02 Suprabasal"  "Patient05 Suprabasal" 
##  [7] "Patient06 Suprabasal"  "Patient10 MUC5B_cells" "Patient10 Suprabasal" 
## [10] "Patient08 Suprabasal" 
##  [1] "Patient04 Suprabasal"              "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Suprabasal"              "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Suprabasal"             
##  [7] "Patient05 Suprabasal"              "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Suprabasal"              "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Suprabasal"             
## [13] "Patient08 Foveolar_differentiated" "Patient08 Suprabasal"             
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Suprabasal"       "Patient04 Undifferentiated"
##  [3] "Patient13 Suprabasal"       "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient02 Suprabasal"      
##  [7] "Patient05 Suprabasal"       "Patient06 Suprabasal"      
##  [9] "Patient06 Undifferentiated" "Patient10 Undifferentiated"
## [11] "Patient10 Suprabasal"       "Patient08 Suprabasal"      
## [13] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [1] "Patient04 Suprabasal"      "Patient13 Suprabasal"     
## [3] "Patient13 KRT5.KRT7_cells" "Patient02 Suprabasal"     
## [5] "Patient05 Suprabasal"      "Patient06 Suprabasal"     
## [7] "Patient10 Suprabasal"      "Patient10 KRT5.KRT7_cells"
## [9] "Patient08 Suprabasal"     
##  [1] "Patient04 Suprabasal"     "Patient13 Suprabasal"    
##  [3] "Patient13 Immune_B_cells" "Patient02 Suprabasal"    
##  [5] "Patient02 Immune_B_cells" "Patient05 Suprabasal"    
##  [7] "Patient05 Immune_B_cells" "Patient06 Suprabasal"    
##  [9] "Patient06 Immune_B_cells" "Patient10 Immune_B_cells"
## [11] "Patient10 Suprabasal"     "Patient08 Suprabasal"    
## [13] "Patient08 Immune_B_cells"
##  [1] "Patient04 Suprabasal"     "Patient13 Suprabasal"    
##  [3] "Patient02 Suprabasal"     "Patient02 Endocrine_GHRL"
##  [5] "Patient05 Suprabasal"     "Patient05 Endocrine_GHRL"
##  [7] "Patient06 Suprabasal"     "Patient06 Endocrine_GHRL"
##  [9] "Patient10 Suprabasal"     "Patient10 Endocrine_GHRL"
## [11] "Patient08 Suprabasal"     "Patient08 Endocrine_GHRL"
## [13] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 KRT7_cells"         
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 KRT7_cells"         
##  [5] "Patient02 Stromal_GNG11_cells" "Patient05 Stromal_GNG11_cells"
##  [7] "Patient06 Stromal_GNG11_cells" "Patient06 KRT7_cells"         
##  [9] "Patient10 Stromal_GNG11_cells" "Patient10 KRT7_cells"         
## [11] "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Stromal_CALD1_cells"
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Stromal_GNG11_cells" "Patient05 Stromal_GNG11_cells"
##  [7] "Patient06 Stromal_CALD1_cells" "Patient06 Stromal_GNG11_cells"
##  [9] "Patient10 Stromal_GNG11_cells" "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Stromal_GNG11_cells" "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Immune_T_cells"     
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 Immune_T_cells"     
##  [5] "Patient02 Stromal_GNG11_cells" "Patient02 Immune_T_cells"     
##  [7] "Patient05 Stromal_GNG11_cells" "Patient06 Immune_T_cells"     
##  [9] "Patient06 Stromal_GNG11_cells" "Patient10 Stromal_GNG11_cells"
## [11] "Patient10 Immune_T_cells"      "Patient08 Immune_T_cells"     
## [13] "Patient08 Stromal_GNG11_cells" "Patient01 Immune_T_cells"     
##  [1] "Patient04 Stromal_GNG11_cells"   "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Stromal_GNG11_cells"   "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Stromal_GNG11_cells"  
##  [7] "Patient05 Stromal_GNG11_cells"   "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Foveolar_Intermediate" "Patient06 Stromal_GNG11_cells"  
## [11] "Patient10 Stromal_GNG11_cells"   "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Stromal_GNG11_cells"  
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Endocrine_CHGA"     
##  [3] "Patient13 Stromal_GNG11_cells" "Patient02 Endocrine_CHGA"     
##  [5] "Patient02 Stromal_GNG11_cells" "Patient05 Stromal_GNG11_cells"
##  [7] "Patient05 Endocrine_CHGA"      "Patient06 Stromal_GNG11_cells"
##  [9] "Patient06 Endocrine_CHGA"      "Patient10 Stromal_GNG11_cells"
## [11] "Patient10 Endocrine_CHGA"      "Patient08 Endocrine_CHGA"     
## [13] "Patient08 Stromal_GNG11_cells" "Patient01 Endocrine_CHGA"     
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Basal"              
##  [3] "Patient13 Basal"               "Patient13 Stromal_GNG11_cells"
##  [5] "Patient02 Basal"               "Patient02 Stromal_GNG11_cells"
##  [7] "Patient05 Basal"               "Patient05 Stromal_GNG11_cells"
##  [9] "Patient06 Basal"               "Patient06 Stromal_GNG11_cells"
## [11] "Patient10 Basal"               "Patient10 Stromal_GNG11_cells"
## [13] "Patient08 Basal"               "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Stromal_GNG11_cells"
##  [5] "Patient02 Stromal_GNG11_cells" "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Stromal_GNG11_cells" "Patient05 Suprabasal_Dividing"
##  [9] "Patient06 Suprabasal_Dividing" "Patient06 Stromal_GNG11_cells"
## [11] "Patient10 Suprabasal_Dividing" "Patient10 Stromal_GNG11_cells"
## [13] "Patient08 Suprabasal_Dividing" "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Immune_Macrophages" 
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 Immune_Macrophages" 
##  [5] "Patient02 Immune_Macrophages"  "Patient02 Stromal_GNG11_cells"
##  [7] "Patient05 Stromal_GNG11_cells" "Patient06 Immune_Macrophages" 
##  [9] "Patient06 Stromal_GNG11_cells" "Patient10 Stromal_GNG11_cells"
## [11] "Patient10 Immune_Macrophages"  "Patient08 Immune_Macrophages" 
## [13] "Patient08 Stromal_GNG11_cells" "Patient01 Immune_Macrophages" 
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 KRT5_cells"         
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 KRT5_cells"         
##  [5] "Patient02 Stromal_GNG11_cells" "Patient05 Stromal_GNG11_cells"
##  [7] "Patient06 Stromal_GNG11_cells" "Patient06 KRT5_cells"         
##  [9] "Patient10 Stromal_GNG11_cells" "Patient10 KRT5_cells"         
## [11] "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 MUC5B_cells"        
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 MUC5B_cells"        
##  [5] "Patient02 Stromal_GNG11_cells" "Patient05 Stromal_GNG11_cells"
##  [7] "Patient06 Stromal_GNG11_cells" "Patient10 MUC5B_cells"        
##  [9] "Patient10 Stromal_GNG11_cells" "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells"     "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Stromal_GNG11_cells"     "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Stromal_GNG11_cells"    
##  [7] "Patient05 Stromal_GNG11_cells"     "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Stromal_GNG11_cells"     "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Stromal_GNG11_cells"    
## [13] "Patient08 Foveolar_differentiated" "Patient08 Stromal_GNG11_cells"    
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient04 Undifferentiated"   
##  [3] "Patient13 Stromal_GNG11_cells" "Patient13 Undifferentiated"   
##  [5] "Patient02 Undifferentiated"    "Patient02 Stromal_GNG11_cells"
##  [7] "Patient05 Stromal_GNG11_cells" "Patient06 Undifferentiated"   
##  [9] "Patient06 Stromal_GNG11_cells" "Patient10 Undifferentiated"   
## [11] "Patient10 Stromal_GNG11_cells" "Patient08 Undifferentiated"   
## [13] "Patient08 Stromal_GNG11_cells" "Patient01 Undifferentiated"   
## [1] "Patient04 Stromal_GNG11_cells" "Patient13 Stromal_GNG11_cells"
## [3] "Patient13 KRT5.KRT7_cells"     "Patient02 Stromal_GNG11_cells"
## [5] "Patient05 Stromal_GNG11_cells" "Patient06 Stromal_GNG11_cells"
## [7] "Patient10 Stromal_GNG11_cells" "Patient10 KRT5.KRT7_cells"    
## [9] "Patient08 Stromal_GNG11_cells"
##  [1] "Patient04 Stromal_GNG11_cells" "Patient13 Stromal_GNG11_cells"
##  [3] "Patient13 Immune_B_cells"      "Patient02 Stromal_GNG11_cells"
##  [5] "Patient02 Immune_B_cells"      "Patient05 Stromal_GNG11_cells"
##  [7] "Patient05 Immune_B_cells"      "Patient06 Stromal_GNG11_cells"
##  [9] "Patient06 Immune_B_cells"      "Patient10 Stromal_GNG11_cells"
## [11] "Patient10 Immune_B_cells"      "Patient08 Stromal_GNG11_cells"
## [13] "Patient08 Immune_B_cells"     
##  [1] "Patient04 Stromal_GNG11_cells" "Patient13 Stromal_GNG11_cells"
##  [3] "Patient02 Endocrine_GHRL"      "Patient02 Stromal_GNG11_cells"
##  [5] "Patient05 Stromal_GNG11_cells" "Patient05 Endocrine_GHRL"     
##  [7] "Patient06 Stromal_GNG11_cells" "Patient06 Endocrine_GHRL"     
##  [9] "Patient10 Stromal_GNG11_cells" "Patient10 Endocrine_GHRL"     
## [11] "Patient08 Endocrine_GHRL"      "Patient08 Stromal_GNG11_cells"
## [13] "Patient01 Endocrine_GHRL"     
##  [1] "Patient04 KRT7_cells"          "Patient04 Stromal_CALD1_cells"
##  [3] "Patient13 Stromal_CALD1_cells" "Patient13 KRT7_cells"         
##  [5] "Patient06 Stromal_CALD1_cells" "Patient06 KRT7_cells"         
##  [7] "Patient10 KRT7_cells"          "Patient10 Stromal_CALD1_cells"
##  [9] "Patient08 Stromal_CALD1_cells" "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 KRT7_cells"     "Patient04 Immune_T_cells"
##  [3] "Patient13 Immune_T_cells" "Patient13 KRT7_cells"    
##  [5] "Patient02 Immune_T_cells" "Patient06 Immune_T_cells"
##  [7] "Patient06 KRT7_cells"     "Patient10 KRT7_cells"    
##  [9] "Patient10 Immune_T_cells" "Patient08 Immune_T_cells"
## [11] "Patient01 Immune_T_cells"
##  [1] "Patient04 KRT7_cells"            "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 KRT7_cells"            "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient05 Foveolar_Intermediate"
##  [7] "Patient06 Foveolar_Intermediate" "Patient06 KRT7_cells"           
##  [9] "Patient10 KRT7_cells"            "Patient10 Foveolar_Intermediate"
## [11] "Patient08 Foveolar_Intermediate" "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 KRT7_cells"     "Patient04 Endocrine_CHGA"
##  [3] "Patient13 KRT7_cells"     "Patient02 Endocrine_CHGA"
##  [5] "Patient05 Endocrine_CHGA" "Patient06 KRT7_cells"    
##  [7] "Patient06 Endocrine_CHGA" "Patient10 KRT7_cells"    
##  [9] "Patient10 Endocrine_CHGA" "Patient08 Endocrine_CHGA"
## [11] "Patient01 Endocrine_CHGA"
##  [1] "Patient04 KRT7_cells" "Patient04 Basal"      "Patient13 Basal"     
##  [4] "Patient13 KRT7_cells" "Patient02 Basal"      "Patient05 Basal"     
##  [7] "Patient06 Basal"      "Patient06 KRT7_cells" "Patient10 Basal"     
## [10] "Patient10 KRT7_cells" "Patient08 Basal"     
##  [1] "Patient04 KRT7_cells"          "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 KRT7_cells"         
##  [5] "Patient02 Suprabasal_Dividing" "Patient05 Suprabasal_Dividing"
##  [7] "Patient06 Suprabasal_Dividing" "Patient06 KRT7_cells"         
##  [9] "Patient10 Suprabasal_Dividing" "Patient10 KRT7_cells"         
## [11] "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 KRT7_cells"         "Patient04 Immune_Macrophages"
##  [3] "Patient13 Immune_Macrophages" "Patient13 KRT7_cells"        
##  [5] "Patient02 Immune_Macrophages" "Patient06 Immune_Macrophages"
##  [7] "Patient06 KRT7_cells"         "Patient10 KRT7_cells"        
##  [9] "Patient10 Immune_Macrophages" "Patient08 Immune_Macrophages"
## [11] "Patient01 Immune_Macrophages"
## [1] "Patient04 KRT7_cells" "Patient04 KRT5_cells" "Patient13 KRT5_cells"
## [4] "Patient13 KRT7_cells" "Patient06 KRT7_cells" "Patient06 KRT5_cells"
## [7] "Patient10 KRT7_cells" "Patient10 KRT5_cells"
## [1] "Patient04 KRT7_cells"  "Patient04 MUC5B_cells" "Patient13 MUC5B_cells"
## [4] "Patient13 KRT7_cells"  "Patient06 KRT7_cells"  "Patient10 MUC5B_cells"
## [7] "Patient10 KRT7_cells" 
##  [1] "Patient04 KRT7_cells"              "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Foveolar_differentiated" "Patient13 KRT7_cells"             
##  [5] "Patient02 Foveolar_differentiated" "Patient05 Foveolar_differentiated"
##  [7] "Patient06 KRT7_cells"              "Patient06 Foveolar_differentiated"
##  [9] "Patient10 Foveolar_differentiated" "Patient10 KRT7_cells"             
## [11] "Patient08 Foveolar_differentiated" "Patient01 Foveolar_differentiated"
##  [1] "Patient04 KRT7_cells"       "Patient04 Undifferentiated"
##  [3] "Patient13 Undifferentiated" "Patient13 KRT7_cells"      
##  [5] "Patient02 Undifferentiated" "Patient06 Undifferentiated"
##  [7] "Patient06 KRT7_cells"       "Patient10 Undifferentiated"
##  [9] "Patient10 KRT7_cells"       "Patient08 Undifferentiated"
## [11] "Patient01 Undifferentiated"
## [1] "Patient04 KRT7_cells"      "Patient13 KRT5.KRT7_cells"
## [3] "Patient13 KRT7_cells"      "Patient06 KRT7_cells"     
## [5] "Patient10 KRT7_cells"      "Patient10 KRT5.KRT7_cells"
##  [1] "Patient04 KRT7_cells"     "Patient13 KRT7_cells"    
##  [3] "Patient13 Immune_B_cells" "Patient02 Immune_B_cells"
##  [5] "Patient05 Immune_B_cells" "Patient06 KRT7_cells"    
##  [7] "Patient06 Immune_B_cells" "Patient10 KRT7_cells"    
##  [9] "Patient10 Immune_B_cells" "Patient08 Immune_B_cells"
##  [1] "Patient04 KRT7_cells"     "Patient13 KRT7_cells"    
##  [3] "Patient02 Endocrine_GHRL" "Patient05 Endocrine_GHRL"
##  [5] "Patient06 KRT7_cells"     "Patient06 Endocrine_GHRL"
##  [7] "Patient10 KRT7_cells"     "Patient10 Endocrine_GHRL"
##  [9] "Patient08 Endocrine_GHRL" "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Immune_T_cells"     
##  [3] "Patient13 Stromal_CALD1_cells" "Patient13 Immune_T_cells"     
##  [5] "Patient02 Immune_T_cells"      "Patient06 Immune_T_cells"     
##  [7] "Patient06 Stromal_CALD1_cells" "Patient10 Immune_T_cells"     
##  [9] "Patient10 Stromal_CALD1_cells" "Patient08 Immune_T_cells"     
## [11] "Patient08 Stromal_CALD1_cells" "Patient01 Immune_T_cells"     
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells"   "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Stromal_CALD1_cells"   "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient05 Foveolar_Intermediate"
##  [7] "Patient06 Stromal_CALD1_cells"   "Patient06 Foveolar_Intermediate"
##  [9] "Patient10 Foveolar_Intermediate" "Patient10 Stromal_CALD1_cells"  
## [11] "Patient08 Foveolar_Intermediate" "Patient08 Stromal_CALD1_cells"  
## [13] "Patient01 Foveolar_Intermediate" "Patient01 Stromal_CALD1_cells"  
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Endocrine_CHGA"     
##  [3] "Patient13 Stromal_CALD1_cells" "Patient02 Endocrine_CHGA"     
##  [5] "Patient05 Endocrine_CHGA"      "Patient06 Stromal_CALD1_cells"
##  [7] "Patient06 Endocrine_CHGA"      "Patient10 Endocrine_CHGA"     
##  [9] "Patient10 Stromal_CALD1_cells" "Patient08 Endocrine_CHGA"     
## [11] "Patient08 Stromal_CALD1_cells" "Patient01 Endocrine_CHGA"     
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Basal"              
##  [3] "Patient13 Basal"               "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Basal"               "Patient05 Basal"              
##  [7] "Patient06 Basal"               "Patient06 Stromal_CALD1_cells"
##  [9] "Patient10 Basal"               "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Basal"               "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Suprabasal_Dividing" "Patient05 Suprabasal_Dividing"
##  [7] "Patient06 Suprabasal_Dividing" "Patient06 Stromal_CALD1_cells"
##  [9] "Patient10 Suprabasal_Dividing" "Patient10 Stromal_CALD1_cells"
## [11] "Patient08 Suprabasal_Dividing" "Patient08 Stromal_CALD1_cells"
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Immune_Macrophages" 
##  [3] "Patient13 Immune_Macrophages"  "Patient13 Stromal_CALD1_cells"
##  [5] "Patient02 Immune_Macrophages"  "Patient06 Immune_Macrophages" 
##  [7] "Patient06 Stromal_CALD1_cells" "Patient10 Immune_Macrophages" 
##  [9] "Patient10 Stromal_CALD1_cells" "Patient08 Immune_Macrophages" 
## [11] "Patient08 Stromal_CALD1_cells" "Patient01 Immune_Macrophages" 
## [13] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 KRT5_cells"         
##  [3] "Patient13 KRT5_cells"          "Patient13 Stromal_CALD1_cells"
##  [5] "Patient06 Stromal_CALD1_cells" "Patient06 KRT5_cells"         
##  [7] "Patient10 KRT5_cells"          "Patient10 Stromal_CALD1_cells"
##  [9] "Patient08 Stromal_CALD1_cells" "Patient01 Stromal_CALD1_cells"
## [1] "Patient04 Stromal_CALD1_cells" "Patient04 MUC5B_cells"        
## [3] "Patient13 Stromal_CALD1_cells" "Patient13 MUC5B_cells"        
## [5] "Patient06 Stromal_CALD1_cells" "Patient10 MUC5B_cells"        
## [7] "Patient10 Stromal_CALD1_cells" "Patient08 Stromal_CALD1_cells"
## [9] "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells"     "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Stromal_CALD1_cells"     "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient05 Foveolar_differentiated"
##  [7] "Patient06 Stromal_CALD1_cells"     "Patient06 Foveolar_differentiated"
##  [9] "Patient10 Foveolar_differentiated" "Patient10 Stromal_CALD1_cells"    
## [11] "Patient08 Foveolar_differentiated" "Patient08 Stromal_CALD1_cells"    
## [13] "Patient01 Foveolar_differentiated" "Patient01 Stromal_CALD1_cells"    
##  [1] "Patient04 Stromal_CALD1_cells" "Patient04 Undifferentiated"   
##  [3] "Patient13 Stromal_CALD1_cells" "Patient13 Undifferentiated"   
##  [5] "Patient02 Undifferentiated"    "Patient06 Undifferentiated"   
##  [7] "Patient06 Stromal_CALD1_cells" "Patient10 Undifferentiated"   
##  [9] "Patient10 Stromal_CALD1_cells" "Patient08 Undifferentiated"   
## [11] "Patient08 Stromal_CALD1_cells" "Patient01 Undifferentiated"   
## [13] "Patient01 Stromal_CALD1_cells"
## [1] "Patient04 Stromal_CALD1_cells" "Patient13 Stromal_CALD1_cells"
## [3] "Patient13 KRT5.KRT7_cells"     "Patient06 Stromal_CALD1_cells"
## [5] "Patient10 Stromal_CALD1_cells" "Patient10 KRT5.KRT7_cells"    
## [7] "Patient08 Stromal_CALD1_cells" "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient13 Stromal_CALD1_cells"
##  [3] "Patient13 Immune_B_cells"      "Patient02 Immune_B_cells"     
##  [5] "Patient05 Immune_B_cells"      "Patient06 Stromal_CALD1_cells"
##  [7] "Patient06 Immune_B_cells"      "Patient10 Immune_B_cells"     
##  [9] "Patient10 Stromal_CALD1_cells" "Patient08 Stromal_CALD1_cells"
## [11] "Patient08 Immune_B_cells"      "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Stromal_CALD1_cells" "Patient13 Stromal_CALD1_cells"
##  [3] "Patient02 Endocrine_GHRL"      "Patient05 Endocrine_GHRL"     
##  [5] "Patient06 Stromal_CALD1_cells" "Patient06 Endocrine_GHRL"     
##  [7] "Patient10 Endocrine_GHRL"      "Patient10 Stromal_CALD1_cells"
##  [9] "Patient08 Endocrine_GHRL"      "Patient08 Stromal_CALD1_cells"
## [11] "Patient01 Endocrine_GHRL"      "Patient01 Stromal_CALD1_cells"
##  [1] "Patient04 Immune_T_cells"        "Patient04 Foveolar_Intermediate"
##  [3] "Patient13 Immune_T_cells"        "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Immune_T_cells"       
##  [7] "Patient05 Foveolar_Intermediate" "Patient06 Immune_T_cells"       
##  [9] "Patient06 Foveolar_Intermediate" "Patient10 Immune_T_cells"       
## [11] "Patient10 Foveolar_Intermediate" "Patient08 Foveolar_Intermediate"
## [13] "Patient08 Immune_T_cells"        "Patient01 Foveolar_Intermediate"
## [15] "Patient01 Immune_T_cells"       
##  [1] "Patient04 Immune_T_cells" "Patient04 Endocrine_CHGA"
##  [3] "Patient13 Immune_T_cells" "Patient02 Endocrine_CHGA"
##  [5] "Patient02 Immune_T_cells" "Patient05 Endocrine_CHGA"
##  [7] "Patient06 Immune_T_cells" "Patient06 Endocrine_CHGA"
##  [9] "Patient10 Immune_T_cells" "Patient10 Endocrine_CHGA"
## [11] "Patient08 Endocrine_CHGA" "Patient08 Immune_T_cells"
## [13] "Patient01 Immune_T_cells" "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Immune_T_cells" "Patient04 Basal"         
##  [3] "Patient13 Basal"          "Patient13 Immune_T_cells"
##  [5] "Patient02 Basal"          "Patient02 Immune_T_cells"
##  [7] "Patient05 Basal"          "Patient06 Basal"         
##  [9] "Patient06 Immune_T_cells" "Patient10 Basal"         
## [11] "Patient10 Immune_T_cells" "Patient08 Basal"         
## [13] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
##  [1] "Patient04 Immune_T_cells"      "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Immune_T_cells"     
##  [5] "Patient02 Suprabasal_Dividing" "Patient02 Immune_T_cells"     
##  [7] "Patient05 Suprabasal_Dividing" "Patient06 Suprabasal_Dividing"
##  [9] "Patient06 Immune_T_cells"      "Patient10 Suprabasal_Dividing"
## [11] "Patient10 Immune_T_cells"      "Patient08 Suprabasal_Dividing"
## [13] "Patient08 Immune_T_cells"      "Patient01 Immune_T_cells"     
##  [1] "Patient04 Immune_T_cells"     "Patient04 Immune_Macrophages"
##  [3] "Patient13 Immune_Macrophages" "Patient13 Immune_T_cells"    
##  [5] "Patient02 Immune_Macrophages" "Patient02 Immune_T_cells"    
##  [7] "Patient06 Immune_Macrophages" "Patient06 Immune_T_cells"    
##  [9] "Patient10 Immune_T_cells"     "Patient10 Immune_Macrophages"
## [11] "Patient08 Immune_T_cells"     "Patient08 Immune_Macrophages"
## [13] "Patient01 Immune_Macrophages" "Patient01 Immune_T_cells"    
##  [1] "Patient04 Immune_T_cells" "Patient04 KRT5_cells"    
##  [3] "Patient13 KRT5_cells"     "Patient13 Immune_T_cells"
##  [5] "Patient02 Immune_T_cells" "Patient06 Immune_T_cells"
##  [7] "Patient06 KRT5_cells"     "Patient10 Immune_T_cells"
##  [9] "Patient10 KRT5_cells"     "Patient08 Immune_T_cells"
## [11] "Patient01 Immune_T_cells"
##  [1] "Patient04 Immune_T_cells" "Patient04 MUC5B_cells"   
##  [3] "Patient13 MUC5B_cells"    "Patient13 Immune_T_cells"
##  [5] "Patient02 Immune_T_cells" "Patient06 Immune_T_cells"
##  [7] "Patient10 MUC5B_cells"    "Patient10 Immune_T_cells"
##  [9] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
##  [1] "Patient04 Immune_T_cells"          "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Immune_T_cells"          "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Immune_T_cells"         
##  [7] "Patient05 Foveolar_differentiated" "Patient06 Immune_T_cells"         
##  [9] "Patient06 Foveolar_differentiated" "Patient10 Foveolar_differentiated"
## [11] "Patient10 Immune_T_cells"          "Patient08 Foveolar_differentiated"
## [13] "Patient08 Immune_T_cells"          "Patient01 Foveolar_differentiated"
## [15] "Patient01 Immune_T_cells"         
##  [1] "Patient04 Immune_T_cells"   "Patient04 Undifferentiated"
##  [3] "Patient13 Immune_T_cells"   "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient02 Immune_T_cells"  
##  [7] "Patient06 Undifferentiated" "Patient06 Immune_T_cells"  
##  [9] "Patient10 Undifferentiated" "Patient10 Immune_T_cells"  
## [11] "Patient08 Undifferentiated" "Patient08 Immune_T_cells"  
## [13] "Patient01 Undifferentiated" "Patient01 Immune_T_cells"  
## [1] "Patient04 Immune_T_cells"  "Patient13 KRT5.KRT7_cells"
## [3] "Patient13 Immune_T_cells"  "Patient02 Immune_T_cells" 
## [5] "Patient06 Immune_T_cells"  "Patient10 Immune_T_cells" 
## [7] "Patient10 KRT5.KRT7_cells" "Patient08 Immune_T_cells" 
## [9] "Patient01 Immune_T_cells" 
##  [1] "Patient04 Immune_T_cells" "Patient13 Immune_T_cells"
##  [3] "Patient13 Immune_B_cells" "Patient02 Immune_B_cells"
##  [5] "Patient02 Immune_T_cells" "Patient05 Immune_B_cells"
##  [7] "Patient06 Immune_T_cells" "Patient06 Immune_B_cells"
##  [9] "Patient10 Immune_T_cells" "Patient10 Immune_B_cells"
## [11] "Patient08 Immune_T_cells" "Patient08 Immune_B_cells"
## [13] "Patient01 Immune_T_cells"
##  [1] "Patient04 Immune_T_cells" "Patient13 Immune_T_cells"
##  [3] "Patient02 Endocrine_GHRL" "Patient02 Immune_T_cells"
##  [5] "Patient05 Endocrine_GHRL" "Patient06 Immune_T_cells"
##  [7] "Patient06 Endocrine_GHRL" "Patient10 Immune_T_cells"
##  [9] "Patient10 Endocrine_GHRL" "Patient08 Endocrine_GHRL"
## [11] "Patient08 Immune_T_cells" "Patient01 Immune_T_cells"
## [13] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 Endocrine_CHGA"       
##  [3] "Patient13 Foveolar_Intermediate" "Patient02 Foveolar_Intermediate"
##  [5] "Patient02 Endocrine_CHGA"        "Patient05 Foveolar_Intermediate"
##  [7] "Patient05 Endocrine_CHGA"        "Patient06 Foveolar_Intermediate"
##  [9] "Patient06 Endocrine_CHGA"        "Patient10 Foveolar_Intermediate"
## [11] "Patient10 Endocrine_CHGA"        "Patient08 Foveolar_Intermediate"
## [13] "Patient08 Endocrine_CHGA"        "Patient01 Foveolar_Intermediate"
## [15] "Patient01 Endocrine_CHGA"       
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 Basal"                
##  [3] "Patient13 Basal"                 "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Basal"                
##  [7] "Patient05 Basal"                 "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Basal"                 "Patient06 Foveolar_Intermediate"
## [11] "Patient10 Basal"                 "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Basal"                
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 Suprabasal_Dividing"  
##  [3] "Patient13 Suprabasal_Dividing"   "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Suprabasal_Dividing"  
##  [7] "Patient05 Suprabasal_Dividing"   "Patient05 Foveolar_Intermediate"
##  [9] "Patient06 Suprabasal_Dividing"   "Patient06 Foveolar_Intermediate"
## [11] "Patient10 Suprabasal_Dividing"   "Patient10 Foveolar_Intermediate"
## [13] "Patient08 Foveolar_Intermediate" "Patient08 Suprabasal_Dividing"  
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 Immune_Macrophages"   
##  [3] "Patient13 Immune_Macrophages"    "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient02 Immune_Macrophages"   
##  [7] "Patient05 Foveolar_Intermediate" "Patient06 Immune_Macrophages"   
##  [9] "Patient06 Foveolar_Intermediate" "Patient10 Foveolar_Intermediate"
## [11] "Patient10 Immune_Macrophages"    "Patient08 Foveolar_Intermediate"
## [13] "Patient08 Immune_Macrophages"    "Patient01 Immune_Macrophages"   
## [15] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 KRT5_cells"           
##  [3] "Patient13 KRT5_cells"            "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient05 Foveolar_Intermediate"
##  [7] "Patient06 Foveolar_Intermediate" "Patient06 KRT5_cells"           
##  [9] "Patient10 Foveolar_Intermediate" "Patient10 KRT5_cells"           
## [11] "Patient08 Foveolar_Intermediate" "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 MUC5B_cells"          
##  [3] "Patient13 MUC5B_cells"           "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Foveolar_Intermediate" "Patient05 Foveolar_Intermediate"
##  [7] "Patient06 Foveolar_Intermediate" "Patient10 MUC5B_cells"          
##  [9] "Patient10 Foveolar_Intermediate" "Patient08 Foveolar_Intermediate"
## [11] "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate"   "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Foveolar_differentiated" "Patient13 Foveolar_Intermediate"  
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Foveolar_Intermediate"  
##  [7] "Patient05 Foveolar_Intermediate"   "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Foveolar_Intermediate"   "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Foveolar_Intermediate"  
## [13] "Patient08 Foveolar_Intermediate"   "Patient08 Foveolar_differentiated"
## [15] "Patient01 Foveolar_differentiated" "Patient01 Foveolar_Intermediate"  
##  [1] "Patient04 Foveolar_Intermediate" "Patient04 Undifferentiated"     
##  [3] "Patient13 Undifferentiated"      "Patient13 Foveolar_Intermediate"
##  [5] "Patient02 Undifferentiated"      "Patient02 Foveolar_Intermediate"
##  [7] "Patient05 Foveolar_Intermediate" "Patient06 Undifferentiated"     
##  [9] "Patient06 Foveolar_Intermediate" "Patient10 Undifferentiated"     
## [11] "Patient10 Foveolar_Intermediate" "Patient08 Foveolar_Intermediate"
## [13] "Patient08 Undifferentiated"      "Patient01 Foveolar_Intermediate"
## [15] "Patient01 Undifferentiated"     
##  [1] "Patient04 Foveolar_Intermediate" "Patient13 KRT5.KRT7_cells"      
##  [3] "Patient13 Foveolar_Intermediate" "Patient02 Foveolar_Intermediate"
##  [5] "Patient05 Foveolar_Intermediate" "Patient06 Foveolar_Intermediate"
##  [7] "Patient10 Foveolar_Intermediate" "Patient10 KRT5.KRT7_cells"      
##  [9] "Patient08 Foveolar_Intermediate" "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient13 Foveolar_Intermediate"
##  [3] "Patient13 Immune_B_cells"        "Patient02 Foveolar_Intermediate"
##  [5] "Patient02 Immune_B_cells"        "Patient05 Foveolar_Intermediate"
##  [7] "Patient05 Immune_B_cells"        "Patient06 Foveolar_Intermediate"
##  [9] "Patient06 Immune_B_cells"        "Patient10 Immune_B_cells"       
## [11] "Patient10 Foveolar_Intermediate" "Patient08 Foveolar_Intermediate"
## [13] "Patient08 Immune_B_cells"        "Patient01 Foveolar_Intermediate"
##  [1] "Patient04 Foveolar_Intermediate" "Patient13 Foveolar_Intermediate"
##  [3] "Patient02 Foveolar_Intermediate" "Patient02 Endocrine_GHRL"       
##  [5] "Patient05 Foveolar_Intermediate" "Patient05 Endocrine_GHRL"       
##  [7] "Patient06 Foveolar_Intermediate" "Patient06 Endocrine_GHRL"       
##  [9] "Patient10 Foveolar_Intermediate" "Patient10 Endocrine_GHRL"       
## [11] "Patient08 Foveolar_Intermediate" "Patient08 Endocrine_GHRL"       
## [13] "Patient01 Foveolar_Intermediate" "Patient01 Endocrine_GHRL"       
##  [1] "Patient04 Endocrine_CHGA" "Patient04 Basal"         
##  [3] "Patient13 Basal"          "Patient02 Basal"         
##  [5] "Patient02 Endocrine_CHGA" "Patient05 Basal"         
##  [7] "Patient05 Endocrine_CHGA" "Patient06 Basal"         
##  [9] "Patient06 Endocrine_CHGA" "Patient10 Basal"         
## [11] "Patient10 Endocrine_CHGA" "Patient08 Basal"         
## [13] "Patient08 Endocrine_CHGA" "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Endocrine_CHGA"      "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Suprabasal_Dividing" "Patient02 Endocrine_CHGA"     
##  [5] "Patient02 Suprabasal_Dividing" "Patient05 Suprabasal_Dividing"
##  [7] "Patient05 Endocrine_CHGA"      "Patient06 Suprabasal_Dividing"
##  [9] "Patient06 Endocrine_CHGA"      "Patient10 Suprabasal_Dividing"
## [11] "Patient10 Endocrine_CHGA"      "Patient08 Endocrine_CHGA"     
## [13] "Patient08 Suprabasal_Dividing" "Patient01 Endocrine_CHGA"     
##  [1] "Patient04 Endocrine_CHGA"     "Patient04 Immune_Macrophages"
##  [3] "Patient13 Immune_Macrophages" "Patient02 Endocrine_CHGA"    
##  [5] "Patient02 Immune_Macrophages" "Patient05 Endocrine_CHGA"    
##  [7] "Patient06 Immune_Macrophages" "Patient06 Endocrine_CHGA"    
##  [9] "Patient10 Immune_Macrophages" "Patient10 Endocrine_CHGA"    
## [11] "Patient08 Endocrine_CHGA"     "Patient08 Immune_Macrophages"
## [13] "Patient01 Immune_Macrophages" "Patient01 Endocrine_CHGA"    
##  [1] "Patient04 Endocrine_CHGA" "Patient04 KRT5_cells"    
##  [3] "Patient13 KRT5_cells"     "Patient02 Endocrine_CHGA"
##  [5] "Patient05 Endocrine_CHGA" "Patient06 Endocrine_CHGA"
##  [7] "Patient06 KRT5_cells"     "Patient10 Endocrine_CHGA"
##  [9] "Patient10 KRT5_cells"     "Patient08 Endocrine_CHGA"
## [11] "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Endocrine_CHGA" "Patient04 MUC5B_cells"   
##  [3] "Patient13 MUC5B_cells"    "Patient02 Endocrine_CHGA"
##  [5] "Patient05 Endocrine_CHGA" "Patient06 Endocrine_CHGA"
##  [7] "Patient10 MUC5B_cells"    "Patient10 Endocrine_CHGA"
##  [9] "Patient08 Endocrine_CHGA" "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Endocrine_CHGA"          "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Foveolar_differentiated" "Patient02 Foveolar_differentiated"
##  [5] "Patient02 Endocrine_CHGA"          "Patient05 Foveolar_differentiated"
##  [7] "Patient05 Endocrine_CHGA"          "Patient06 Endocrine_CHGA"         
##  [9] "Patient06 Foveolar_differentiated" "Patient10 Foveolar_differentiated"
## [11] "Patient10 Endocrine_CHGA"          "Patient08 Foveolar_differentiated"
## [13] "Patient08 Endocrine_CHGA"          "Patient01 Foveolar_differentiated"
## [15] "Patient01 Endocrine_CHGA"         
##  [1] "Patient04 Endocrine_CHGA"   "Patient04 Undifferentiated"
##  [3] "Patient13 Undifferentiated" "Patient02 Undifferentiated"
##  [5] "Patient02 Endocrine_CHGA"   "Patient05 Endocrine_CHGA"  
##  [7] "Patient06 Undifferentiated" "Patient06 Endocrine_CHGA"  
##  [9] "Patient10 Undifferentiated" "Patient10 Endocrine_CHGA"  
## [11] "Patient08 Endocrine_CHGA"   "Patient08 Undifferentiated"
## [13] "Patient01 Undifferentiated" "Patient01 Endocrine_CHGA"  
## [1] "Patient04 Endocrine_CHGA"  "Patient13 KRT5.KRT7_cells"
## [3] "Patient02 Endocrine_CHGA"  "Patient05 Endocrine_CHGA" 
## [5] "Patient06 Endocrine_CHGA"  "Patient10 Endocrine_CHGA" 
## [7] "Patient10 KRT5.KRT7_cells" "Patient08 Endocrine_CHGA" 
## [9] "Patient01 Endocrine_CHGA" 
##  [1] "Patient04 Endocrine_CHGA" "Patient13 Immune_B_cells"
##  [3] "Patient02 Endocrine_CHGA" "Patient02 Immune_B_cells"
##  [5] "Patient05 Endocrine_CHGA" "Patient05 Immune_B_cells"
##  [7] "Patient06 Endocrine_CHGA" "Patient06 Immune_B_cells"
##  [9] "Patient10 Immune_B_cells" "Patient10 Endocrine_CHGA"
## [11] "Patient08 Endocrine_CHGA" "Patient08 Immune_B_cells"
## [13] "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Endocrine_CHGA" "Patient02 Endocrine_GHRL"
##  [3] "Patient02 Endocrine_CHGA" "Patient05 Endocrine_GHRL"
##  [5] "Patient05 Endocrine_CHGA" "Patient06 Endocrine_CHGA"
##  [7] "Patient06 Endocrine_GHRL" "Patient10 Endocrine_GHRL"
##  [9] "Patient10 Endocrine_CHGA" "Patient08 Endocrine_CHGA"
## [11] "Patient08 Endocrine_GHRL" "Patient01 Endocrine_GHRL"
## [13] "Patient01 Endocrine_CHGA"
##  [1] "Patient04 Basal"               "Patient04 Suprabasal_Dividing"
##  [3] "Patient13 Basal"               "Patient13 Suprabasal_Dividing"
##  [5] "Patient02 Basal"               "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Basal"               "Patient05 Suprabasal_Dividing"
##  [9] "Patient06 Basal"               "Patient06 Suprabasal_Dividing"
## [11] "Patient10 Basal"               "Patient10 Suprabasal_Dividing"
## [13] "Patient08 Basal"               "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Basal"              "Patient04 Immune_Macrophages"
##  [3] "Patient13 Basal"              "Patient13 Immune_Macrophages"
##  [5] "Patient02 Basal"              "Patient02 Immune_Macrophages"
##  [7] "Patient05 Basal"              "Patient06 Basal"             
##  [9] "Patient06 Immune_Macrophages" "Patient10 Basal"             
## [11] "Patient10 Immune_Macrophages" "Patient08 Basal"             
## [13] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
##  [1] "Patient04 Basal"      "Patient04 KRT5_cells" "Patient13 Basal"     
##  [4] "Patient13 KRT5_cells" "Patient02 Basal"      "Patient05 Basal"     
##  [7] "Patient06 Basal"      "Patient06 KRT5_cells" "Patient10 Basal"     
## [10] "Patient10 KRT5_cells" "Patient08 Basal"     
##  [1] "Patient04 Basal"       "Patient04 MUC5B_cells" "Patient13 Basal"      
##  [4] "Patient13 MUC5B_cells" "Patient02 Basal"       "Patient05 Basal"      
##  [7] "Patient06 Basal"       "Patient10 Basal"       "Patient10 MUC5B_cells"
## [10] "Patient08 Basal"      
##  [1] "Patient04 Basal"                   "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Basal"                   "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Basal"                  
##  [7] "Patient05 Basal"                   "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Basal"                   "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Basal"                  
## [13] "Patient08 Basal"                   "Patient08 Foveolar_differentiated"
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Basal"            "Patient04 Undifferentiated"
##  [3] "Patient13 Basal"            "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient02 Basal"           
##  [7] "Patient05 Basal"            "Patient06 Basal"           
##  [9] "Patient06 Undifferentiated" "Patient10 Undifferentiated"
## [11] "Patient10 Basal"            "Patient08 Basal"           
## [13] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [1] "Patient04 Basal"           "Patient13 Basal"          
## [3] "Patient13 KRT5.KRT7_cells" "Patient02 Basal"          
## [5] "Patient05 Basal"           "Patient06 Basal"          
## [7] "Patient10 Basal"           "Patient10 KRT5.KRT7_cells"
## [9] "Patient08 Basal"          
##  [1] "Patient04 Basal"          "Patient13 Basal"         
##  [3] "Patient13 Immune_B_cells" "Patient02 Basal"         
##  [5] "Patient02 Immune_B_cells" "Patient05 Basal"         
##  [7] "Patient05 Immune_B_cells" "Patient06 Basal"         
##  [9] "Patient06 Immune_B_cells" "Patient10 Basal"         
## [11] "Patient10 Immune_B_cells" "Patient08 Basal"         
## [13] "Patient08 Immune_B_cells"
##  [1] "Patient04 Basal"          "Patient13 Basal"         
##  [3] "Patient02 Basal"          "Patient02 Endocrine_GHRL"
##  [5] "Patient05 Basal"          "Patient05 Endocrine_GHRL"
##  [7] "Patient06 Basal"          "Patient06 Endocrine_GHRL"
##  [9] "Patient10 Basal"          "Patient10 Endocrine_GHRL"
## [11] "Patient08 Basal"          "Patient08 Endocrine_GHRL"
## [13] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Suprabasal_Dividing" "Patient04 Immune_Macrophages" 
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Immune_Macrophages" 
##  [5] "Patient02 Immune_Macrophages"  "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Suprabasal_Dividing" "Patient06 Suprabasal_Dividing"
##  [9] "Patient06 Immune_Macrophages"  "Patient10 Suprabasal_Dividing"
## [11] "Patient10 Immune_Macrophages"  "Patient08 Suprabasal_Dividing"
## [13] "Patient08 Immune_Macrophages"  "Patient01 Immune_Macrophages" 
##  [1] "Patient04 Suprabasal_Dividing" "Patient04 KRT5_cells"         
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 KRT5_cells"         
##  [5] "Patient02 Suprabasal_Dividing" "Patient05 Suprabasal_Dividing"
##  [7] "Patient06 Suprabasal_Dividing" "Patient06 KRT5_cells"         
##  [9] "Patient10 Suprabasal_Dividing" "Patient10 KRT5_cells"         
## [11] "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Suprabasal_Dividing" "Patient04 MUC5B_cells"        
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 MUC5B_cells"        
##  [5] "Patient02 Suprabasal_Dividing" "Patient05 Suprabasal_Dividing"
##  [7] "Patient06 Suprabasal_Dividing" "Patient10 Suprabasal_Dividing"
##  [9] "Patient10 MUC5B_cells"         "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Suprabasal_Dividing"     "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Suprabasal_Dividing"     "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Suprabasal_Dividing"    
##  [7] "Patient05 Suprabasal_Dividing"     "Patient05 Foveolar_differentiated"
##  [9] "Patient06 Suprabasal_Dividing"     "Patient06 Foveolar_differentiated"
## [11] "Patient10 Foveolar_differentiated" "Patient10 Suprabasal_Dividing"    
## [13] "Patient08 Foveolar_differentiated" "Patient08 Suprabasal_Dividing"    
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Suprabasal_Dividing" "Patient04 Undifferentiated"   
##  [3] "Patient13 Suprabasal_Dividing" "Patient13 Undifferentiated"   
##  [5] "Patient02 Undifferentiated"    "Patient02 Suprabasal_Dividing"
##  [7] "Patient05 Suprabasal_Dividing" "Patient06 Suprabasal_Dividing"
##  [9] "Patient06 Undifferentiated"    "Patient10 Undifferentiated"   
## [11] "Patient10 Suprabasal_Dividing" "Patient08 Suprabasal_Dividing"
## [13] "Patient08 Undifferentiated"    "Patient01 Undifferentiated"   
## [1] "Patient04 Suprabasal_Dividing" "Patient13 Suprabasal_Dividing"
## [3] "Patient13 KRT5.KRT7_cells"     "Patient02 Suprabasal_Dividing"
## [5] "Patient05 Suprabasal_Dividing" "Patient06 Suprabasal_Dividing"
## [7] "Patient10 Suprabasal_Dividing" "Patient10 KRT5.KRT7_cells"    
## [9] "Patient08 Suprabasal_Dividing"
##  [1] "Patient04 Suprabasal_Dividing" "Patient13 Suprabasal_Dividing"
##  [3] "Patient13 Immune_B_cells"      "Patient02 Suprabasal_Dividing"
##  [5] "Patient02 Immune_B_cells"      "Patient05 Suprabasal_Dividing"
##  [7] "Patient05 Immune_B_cells"      "Patient06 Suprabasal_Dividing"
##  [9] "Patient06 Immune_B_cells"      "Patient10 Suprabasal_Dividing"
## [11] "Patient10 Immune_B_cells"      "Patient08 Suprabasal_Dividing"
## [13] "Patient08 Immune_B_cells"     
##  [1] "Patient04 Suprabasal_Dividing" "Patient13 Suprabasal_Dividing"
##  [3] "Patient02 Endocrine_GHRL"      "Patient02 Suprabasal_Dividing"
##  [5] "Patient05 Suprabasal_Dividing" "Patient05 Endocrine_GHRL"     
##  [7] "Patient06 Suprabasal_Dividing" "Patient06 Endocrine_GHRL"     
##  [9] "Patient10 Suprabasal_Dividing" "Patient10 Endocrine_GHRL"     
## [11] "Patient08 Suprabasal_Dividing" "Patient08 Endocrine_GHRL"     
## [13] "Patient01 Endocrine_GHRL"     
##  [1] "Patient04 Immune_Macrophages" "Patient04 KRT5_cells"        
##  [3] "Patient13 Immune_Macrophages" "Patient13 KRT5_cells"        
##  [5] "Patient02 Immune_Macrophages" "Patient06 Immune_Macrophages"
##  [7] "Patient06 KRT5_cells"         "Patient10 Immune_Macrophages"
##  [9] "Patient10 KRT5_cells"         "Patient08 Immune_Macrophages"
## [11] "Patient01 Immune_Macrophages"
##  [1] "Patient04 Immune_Macrophages" "Patient04 MUC5B_cells"       
##  [3] "Patient13 Immune_Macrophages" "Patient13 MUC5B_cells"       
##  [5] "Patient02 Immune_Macrophages" "Patient06 Immune_Macrophages"
##  [7] "Patient10 MUC5B_cells"        "Patient10 Immune_Macrophages"
##  [9] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
##  [1] "Patient04 Immune_Macrophages"      "Patient04 Foveolar_differentiated"
##  [3] "Patient13 Immune_Macrophages"      "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient02 Immune_Macrophages"     
##  [7] "Patient05 Foveolar_differentiated" "Patient06 Immune_Macrophages"     
##  [9] "Patient06 Foveolar_differentiated" "Patient10 Foveolar_differentiated"
## [11] "Patient10 Immune_Macrophages"      "Patient08 Foveolar_differentiated"
## [13] "Patient08 Immune_Macrophages"      "Patient01 Immune_Macrophages"     
## [15] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Immune_Macrophages" "Patient04 Undifferentiated"  
##  [3] "Patient13 Immune_Macrophages" "Patient13 Undifferentiated"  
##  [5] "Patient02 Undifferentiated"   "Patient02 Immune_Macrophages"
##  [7] "Patient06 Immune_Macrophages" "Patient06 Undifferentiated"  
##  [9] "Patient10 Undifferentiated"   "Patient10 Immune_Macrophages"
## [11] "Patient08 Undifferentiated"   "Patient08 Immune_Macrophages"
## [13] "Patient01 Immune_Macrophages" "Patient01 Undifferentiated"  
## [1] "Patient04 Immune_Macrophages" "Patient13 Immune_Macrophages"
## [3] "Patient13 KRT5.KRT7_cells"    "Patient02 Immune_Macrophages"
## [5] "Patient06 Immune_Macrophages" "Patient10 Immune_Macrophages"
## [7] "Patient10 KRT5.KRT7_cells"    "Patient08 Immune_Macrophages"
## [9] "Patient01 Immune_Macrophages"
##  [1] "Patient04 Immune_Macrophages" "Patient13 Immune_Macrophages"
##  [3] "Patient13 Immune_B_cells"     "Patient02 Immune_Macrophages"
##  [5] "Patient02 Immune_B_cells"     "Patient05 Immune_B_cells"    
##  [7] "Patient06 Immune_Macrophages" "Patient06 Immune_B_cells"    
##  [9] "Patient10 Immune_B_cells"     "Patient10 Immune_Macrophages"
## [11] "Patient08 Immune_Macrophages" "Patient08 Immune_B_cells"    
## [13] "Patient01 Immune_Macrophages"
##  [1] "Patient04 Immune_Macrophages" "Patient13 Immune_Macrophages"
##  [3] "Patient02 Endocrine_GHRL"     "Patient02 Immune_Macrophages"
##  [5] "Patient05 Endocrine_GHRL"     "Patient06 Immune_Macrophages"
##  [7] "Patient06 Endocrine_GHRL"     "Patient10 Endocrine_GHRL"    
##  [9] "Patient10 Immune_Macrophages" "Patient08 Endocrine_GHRL"    
## [11] "Patient08 Immune_Macrophages" "Patient01 Immune_Macrophages"
## [13] "Patient01 Endocrine_GHRL"    
## [1] "Patient04 KRT5_cells"  "Patient04 MUC5B_cells" "Patient13 KRT5_cells" 
## [4] "Patient13 MUC5B_cells" "Patient06 KRT5_cells"  "Patient10 MUC5B_cells"
## [7] "Patient10 KRT5_cells" 
##  [1] "Patient04 KRT5_cells"              "Patient04 Foveolar_differentiated"
##  [3] "Patient13 KRT5_cells"              "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient05 Foveolar_differentiated"
##  [7] "Patient06 Foveolar_differentiated" "Patient06 KRT5_cells"             
##  [9] "Patient10 Foveolar_differentiated" "Patient10 KRT5_cells"             
## [11] "Patient08 Foveolar_differentiated" "Patient01 Foveolar_differentiated"
##  [1] "Patient04 KRT5_cells"       "Patient04 Undifferentiated"
##  [3] "Patient13 KRT5_cells"       "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient06 Undifferentiated"
##  [7] "Patient06 KRT5_cells"       "Patient10 Undifferentiated"
##  [9] "Patient10 KRT5_cells"       "Patient08 Undifferentiated"
## [11] "Patient01 Undifferentiated"
## [1] "Patient04 KRT5_cells"      "Patient13 KRT5_cells"     
## [3] "Patient13 KRT5.KRT7_cells" "Patient06 KRT5_cells"     
## [5] "Patient10 KRT5_cells"      "Patient10 KRT5.KRT7_cells"
##  [1] "Patient04 KRT5_cells"     "Patient13 KRT5_cells"    
##  [3] "Patient13 Immune_B_cells" "Patient02 Immune_B_cells"
##  [5] "Patient05 Immune_B_cells" "Patient06 Immune_B_cells"
##  [7] "Patient06 KRT5_cells"     "Patient10 Immune_B_cells"
##  [9] "Patient10 KRT5_cells"     "Patient08 Immune_B_cells"
##  [1] "Patient04 KRT5_cells"     "Patient13 KRT5_cells"    
##  [3] "Patient02 Endocrine_GHRL" "Patient05 Endocrine_GHRL"
##  [5] "Patient06 Endocrine_GHRL" "Patient06 KRT5_cells"    
##  [7] "Patient10 Endocrine_GHRL" "Patient10 KRT5_cells"    
##  [9] "Patient08 Endocrine_GHRL" "Patient01 Endocrine_GHRL"
##  [1] "Patient04 MUC5B_cells"             "Patient04 Foveolar_differentiated"
##  [3] "Patient13 MUC5B_cells"             "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Foveolar_differentiated" "Patient05 Foveolar_differentiated"
##  [7] "Patient06 Foveolar_differentiated" "Patient10 Foveolar_differentiated"
##  [9] "Patient10 MUC5B_cells"             "Patient08 Foveolar_differentiated"
## [11] "Patient01 Foveolar_differentiated"
##  [1] "Patient04 MUC5B_cells"      "Patient04 Undifferentiated"
##  [3] "Patient13 MUC5B_cells"      "Patient13 Undifferentiated"
##  [5] "Patient02 Undifferentiated" "Patient06 Undifferentiated"
##  [7] "Patient10 Undifferentiated" "Patient10 MUC5B_cells"     
##  [9] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [1] "Patient04 MUC5B_cells"     "Patient13 KRT5.KRT7_cells"
## [3] "Patient13 MUC5B_cells"     "Patient10 MUC5B_cells"    
## [5] "Patient10 KRT5.KRT7_cells"
## [1] "Patient04 MUC5B_cells"    "Patient13 MUC5B_cells"   
## [3] "Patient13 Immune_B_cells" "Patient02 Immune_B_cells"
## [5] "Patient05 Immune_B_cells" "Patient06 Immune_B_cells"
## [7] "Patient10 MUC5B_cells"    "Patient10 Immune_B_cells"
## [9] "Patient08 Immune_B_cells"
## [1] "Patient04 MUC5B_cells"    "Patient13 MUC5B_cells"   
## [3] "Patient02 Endocrine_GHRL" "Patient05 Endocrine_GHRL"
## [5] "Patient06 Endocrine_GHRL" "Patient10 MUC5B_cells"   
## [7] "Patient10 Endocrine_GHRL" "Patient08 Endocrine_GHRL"
## [9] "Patient01 Endocrine_GHRL"
##  [1] "Patient04 Foveolar_differentiated" "Patient04 Undifferentiated"       
##  [3] "Patient13 Undifferentiated"        "Patient13 Foveolar_differentiated"
##  [5] "Patient02 Undifferentiated"        "Patient02 Foveolar_differentiated"
##  [7] "Patient05 Foveolar_differentiated" "Patient06 Undifferentiated"       
##  [9] "Patient06 Foveolar_differentiated" "Patient10 Foveolar_differentiated"
## [11] "Patient10 Undifferentiated"        "Patient08 Foveolar_differentiated"
## [13] "Patient08 Undifferentiated"        "Patient01 Foveolar_differentiated"
## [15] "Patient01 Undifferentiated"       
##  [1] "Patient04 Foveolar_differentiated" "Patient13 KRT5.KRT7_cells"        
##  [3] "Patient13 Foveolar_differentiated" "Patient02 Foveolar_differentiated"
##  [5] "Patient05 Foveolar_differentiated" "Patient06 Foveolar_differentiated"
##  [7] "Patient10 Foveolar_differentiated" "Patient10 KRT5.KRT7_cells"        
##  [9] "Patient08 Foveolar_differentiated" "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Foveolar_differentiated" "Patient13 Foveolar_differentiated"
##  [3] "Patient13 Immune_B_cells"          "Patient02 Foveolar_differentiated"
##  [5] "Patient02 Immune_B_cells"          "Patient05 Foveolar_differentiated"
##  [7] "Patient05 Immune_B_cells"          "Patient06 Foveolar_differentiated"
##  [9] "Patient06 Immune_B_cells"          "Patient10 Foveolar_differentiated"
## [11] "Patient10 Immune_B_cells"          "Patient08 Foveolar_differentiated"
## [13] "Patient08 Immune_B_cells"          "Patient01 Foveolar_differentiated"
##  [1] "Patient04 Foveolar_differentiated" "Patient13 Foveolar_differentiated"
##  [3] "Patient02 Foveolar_differentiated" "Patient02 Endocrine_GHRL"         
##  [5] "Patient05 Endocrine_GHRL"          "Patient05 Foveolar_differentiated"
##  [7] "Patient06 Foveolar_differentiated" "Patient06 Endocrine_GHRL"         
##  [9] "Patient10 Foveolar_differentiated" "Patient10 Endocrine_GHRL"         
## [11] "Patient08 Foveolar_differentiated" "Patient08 Endocrine_GHRL"         
## [13] "Patient01 Foveolar_differentiated" "Patient01 Endocrine_GHRL"         
## [1] "Patient04 Undifferentiated" "Patient13 KRT5.KRT7_cells" 
## [3] "Patient13 Undifferentiated" "Patient02 Undifferentiated"
## [5] "Patient06 Undifferentiated" "Patient10 Undifferentiated"
## [7] "Patient10 KRT5.KRT7_cells"  "Patient08 Undifferentiated"
## [9] "Patient01 Undifferentiated"
##  [1] "Patient04 Undifferentiated" "Patient13 Undifferentiated"
##  [3] "Patient13 Immune_B_cells"   "Patient02 Undifferentiated"
##  [5] "Patient02 Immune_B_cells"   "Patient05 Immune_B_cells"  
##  [7] "Patient06 Undifferentiated" "Patient06 Immune_B_cells"  
##  [9] "Patient10 Undifferentiated" "Patient10 Immune_B_cells"  
## [11] "Patient08 Undifferentiated" "Patient08 Immune_B_cells"  
## [13] "Patient01 Undifferentiated"
##  [1] "Patient04 Undifferentiated" "Patient13 Undifferentiated"
##  [3] "Patient02 Undifferentiated" "Patient02 Endocrine_GHRL"  
##  [5] "Patient05 Endocrine_GHRL"   "Patient06 Undifferentiated"
##  [7] "Patient06 Endocrine_GHRL"   "Patient10 Undifferentiated"
##  [9] "Patient10 Endocrine_GHRL"   "Patient08 Endocrine_GHRL"  
## [11] "Patient08 Undifferentiated" "Patient01 Undifferentiated"
## [13] "Patient01 Endocrine_GHRL"  
## [1] "Patient13 KRT5.KRT7_cells" "Patient13 Immune_B_cells" 
## [3] "Patient02 Immune_B_cells"  "Patient05 Immune_B_cells" 
## [5] "Patient06 Immune_B_cells"  "Patient10 Immune_B_cells" 
## [7] "Patient10 KRT5.KRT7_cells" "Patient08 Immune_B_cells" 
## [1] "Patient13 KRT5.KRT7_cells" "Patient02 Endocrine_GHRL" 
## [3] "Patient05 Endocrine_GHRL"  "Patient06 Endocrine_GHRL" 
## [5] "Patient10 Endocrine_GHRL"  "Patient10 KRT5.KRT7_cells"
## [7] "Patient08 Endocrine_GHRL"  "Patient01 Endocrine_GHRL" 
##  [1] "Patient13 Immune_B_cells" "Patient02 Endocrine_GHRL"
##  [3] "Patient02 Immune_B_cells" "Patient05 Endocrine_GHRL"
##  [5] "Patient05 Immune_B_cells" "Patient06 Immune_B_cells"
##  [7] "Patient06 Endocrine_GHRL" "Patient10 Immune_B_cells"
##  [9] "Patient10 Endocrine_GHRL" "Patient08 Endocrine_GHRL"
## [11] "Patient08 Immune_B_cells" "Patient01 Endocrine_GHRL"
# Save as table
write.xlsx(DE.genes, file = "~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Supplemental_tables/Table_S3.xlsx")

Visualised only the novel cell types

The data is already cluster so I will only visualise it.

# Extract corrected dimensions for the selected cells and perform clustering
corrected2 <- corrected[,colData(cur_sce)$cell_type %in% c("C1", "C2", "C3", "C4")]

# Compute new tSNE
set.seed(12345)
tsne2 <- Rtsne(t(corrected2), pca = FALSE, perplexity = 10)


cur_sce <- cur_sce[,colData(cur_sce)$cell_type %in% c("C1", "C2", "C3", "C4")]
reducedDims(cur_sce)$TSNE <- tsne2$Y

## 212 cells


# Plot the patient data
cur_p <- ggplot(data.frame(tSNE1 = reducedDims(cur_sce)$TSNE[,1],
                           tSNE2 = reducedDims(cur_sce)$TSNE[,2],
                           clusters = as.factor(colData(cur_sce)$Patient))) +
  geom_point(aes(tSNE1, tSNE2, colour = clusters))
print(cur_p)

# Visualise the clustering results
cur_p <- ggplot(data.frame(tSNE1 = reducedDims(cur_sce)$TSNE[,1],
                           tSNE2 = reducedDims(cur_sce)$TSNE[,2],
                           clusters = as.factor(colData(cur_sce)$cell_type))) +
  geom_point(aes(tSNE1, tSNE2, colour = clusters))
print(cur_p)

# Visualize whether populations are patient specific 
print(kable(table(colData(cur_sce)$cell_type, colData(cur_sce)$Patient),row.names = TRUE))
## 
## 
##                               Patient04   Patient06   Patient10   Patient13
## ---------------------------  ----------  ----------  ----------  ----------
## Basal                                 0           0           0           0
## Suprabasal                            0           0           0           0
## Intermediate                          0           0           0           0
## Superficial                           0           0           0           0
## Undifferentiated                      0           0           0           0
## Endocrine                             0           0           0           0
## Foveolar_Intermediate                 0           0           0           0
## Foveolar_differentiated               0           0           0           0
## Parietal                              0           0           0           0
## Chief                                 0           0           0           0
## Columnar_Undifferentiated             0           0           0           0
## Columnar_Intermediate                 0           0           0           0
## Columnar_differentiated               0           0           0           0
## Enterocytes_Intermediate              0           0           0           0
## Enterocytes_differentiated            0           0           0           0
## Paneth                                0           0           0           0
## Goblet                                0           0           0           0
## C1                                   15           1           2          56
## C2                                    0           0           1          12
## C3                                   49           7          10          28
## C4                                   16           0           8           7
## Mucous                                0           0           0           0
## Oncocytes                             0           0           0           0
## Duct_Intercalating                    0           0           0           0
## Myo-epithelial                        0           0           0           0
## Unknown.Doublets                      0           0           0           0
## Immune                                0           0           0           0
## Stromal                               0           0           0           0
## Squamous_Esophagus                    0           0           0           0
## Novel                                 0           0           0           0
cat("\n")
# Cell type
colour_vector <- vector(length = length(unique(cur_sce$cell_type)))
names(colour_vector) <- unique(cur_sce$cell_type)

colour_vector["C4"] <- "saddlebrown"
colour_vector["C3"] <- "burlywood3"
colour_vector["C2"] <- "burlywood4"
colour_vector["C1"] <- "orange"



p.all.cells.cell_type_small <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                           tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                           tissue = colData(cur_sce)$cell_type)) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1.5) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 1.3) + 
  scale_color_manual(values = colour_vector) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()) + 
  xlab("t-SNE 1")  + 
  ylab("t-SNE 2") + 
  guides(colour = guide_legend(override.aes = list(size=4), title = "Cell Type"))

p.all.cells.cell_type_small

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_only_novel.pdf", p.all.cells.cell_type_small, width = 7, height = 5, useDingbats = FALSE)


#Get the expression values
genes<-c("MUC5B", "KRT7", "KRT5", "TP63", "CHGA", "MUC5AC", "KRT8", "KRT4", "KRT14", "PTPRC", "MUC2")

meanexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), mean)
meanexpression <- melt(meanexpression)
## Using Group.1 as id variables
colnames(meanexpression) <- c("Cell_type", "gene", "mean_expression")

propnozero <- function(x) {
  length(x[x>1])/length(x)
}

nonzeroexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), propnozero)
nonzeroexpression <- melt(nonzeroexpression)
## Using Group.1 as id variables
colnames(nonzeroexpression) <- c("Cell_type", "gene", "proportion")

expression.df <- merge(meanexpression, nonzeroexpression )
expression.df$gene <- rowData(cur_sce)$Symbol[match (expression.df$gene, rowData(cur_sce)$ID)]
expression.df$Cell_type <- factor(expression.df$Cell_type, levels = c("C1", "C2", "C3", "C4"))
expression.df$gene <- factor(expression.df$gene, levels = genes)

expression.df$Tissue_type <- NA
expression.df$Tissue_type[expression.df$Cell_type %in% c("C1", "C2", "C3", "C4")] <- "Novel"
expression.df$mean_expression2 <- ifelse(expression.df$mean_expression >4, yes = 4, no = expression.df$mean_expression )


expression.plot_small <- ggplot(expression.df) + geom_point(aes(y = gene, x = Cell_type, size = mean_expression2, colour = Tissue_type)) + theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                                                                                                                                                        panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) +  scale_size_continuous(range=c(0, 10), limits = c(0,4), breaks = c(0,1,2,3,4)) +  scale_color_manual(values = c("orange"))+ theme(axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1))
print(expression.plot_small)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_expression_only_novel.pdf", expression.plot_small, width = 5, height = 6, useDingbats = FALSE)


# Let make it into violin plots
#Get the expression values
genes<-c("MUC4", "MUC5B", "KRT7", "KRT5", "TP63")

nexpression <- cbind(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), colData(cur_sce)$cell_type)

colnames(nexpression) <- c(rowData(cur_sce)$Symbol[match (colnames(nexpression)[1:ncol(nexpression)-1], rowData(cur_sce)$ID)], "Cell_type")

df.violin <- melt(nexpression, variable.name = "Gene", value.name = "Expression", id.vars = ncol(nexpression))
# df.violin$Cell_type <- factor(df.violin$Cell_type, levels = rev(levels(df.violin$Cell_type)))
df.violin$Gene <- factor(df.violin$Gene, levels = rev(genes))

expression.plot_violin <- ggplot(df.violin, aes(x = Cell_type, y = Expression, fill = Cell_type)) + 
  geom_violin(scale = "width", trim = TRUE, size = 0.1) + 
  geom_jitter(height = 0, width = 0.15, size = 0.05) +
  facet_wrap(~ Gene, ncol = 1, scales = "free_y") + 
  scale_fill_manual(values = colour_vector) + 
  theme_minimal() +
  ylab("Log2(Expression)") + 
  #coord_flip() +
  scale_y_continuous(breaks = scales::pretty_breaks(4)) +
  theme(legend.position = "none",
        axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1),
        panel.grid.major.x = element_blank(),
        panel.grid.minor = element_blank())

expression.plot_violin

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_expression_only_novel_violin.pdf", expression.plot_violin, width = 3, height = 6, useDingbats = FALSE)











lay <- rbind(c(1,1,2),
             c(1,1,2),
             c(1,1,4),
             c(1,1,4),
             c(3,3,4),
             c(3,3,NA)
)

all.figures <- grid.arrange(p.all.cells.cell_type, p.all.cells.cell_type_small, expression.plot, expression.plot_small, layout_matrix=lay)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_combined.pdf", all.figures, width = 16, height = 12, useDingbats = FALSE)

lay <- rbind(c(1,1,2),
             c(1,1,2),
             c(1,1,4),
             c(1,1,4),
             c(3,3,4),
             c(3,3,4)
)

all.figures2 <- grid.arrange(p.all.cells.cell_type, p.all.cells.cell_type_small, expression.plot, expression.plot_violin, layout_matrix=lay)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_combined_violin.pdf", all.figures2, width = 16, height = 12, useDingbats = FALSE)


lay <- rbind(c(1,1,1,1,2,2,2),
            # c(1,1,1,1,2,2,2,2),
             c(1,1,1,1,3,3,4),
             c(1,1,1,1,3,3,4)
)

lay <- rbind(c(1,1,1),
             c(1,1,1),
             c(2,2,3),
             c(2,2,3),
             c(2,2,3)
)

p.all.cells.cell_type_small + theme(legend.position = c(0.8, 0.2))

expression.plot 

all.figures3 <- grid.arrange(  expression.plot+  scale_size_continuous(range=c(0, 4), limits = c(0,4), breaks = c(0,1,2,3,4)), p.all.cells.cell_type_small + theme(legend.position = c(0.8, 0.2)), expression.plot_violin, layout_matrix=lay)
## Scale for 'size' is already present. Adding another scale for 'size', which
## will replace the existing scale.

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/NSCJ_combined_violin_2.pdf", all.figures3, width = 10, height = 9, useDingbats = FALSE)

Visualize SMG, NSCJ, NG and NE samples

Here I will visualise all the upper GI tissues and compare the NSCJ samples with pure tissue types. This should tell us something about the similarity of the novel cell types to the existing cell types.

# Select tissues to test
cur_sce <- sce[,sce$include & sce$Tissue %in% c("SMG", "NG", "NSCJ", "NE")]


# # Perform batch correction
# sce.list <- split.sce(cur_sce, unique(cur_sce$Sample), colData.name = "Sample")


# order the samples by size of the sample 
n <- names(sort(table(cur_sce[["Sample"]]), decreasing = TRUE))
n <- n[c(which(grepl("NSCJ_out", n)), which(grepl("NE_out", n)), 
                       which(grepl("NG_out", n)), which(grepl("SMG_out", n)))]

# The samples are in NSCJ, NE, NG, SMG order  
corrected <- batch.correction.single(cur_sce, batches = "Sample", m.order = n)

# Compute new tSNE
set.seed(12345)
tsne <- Rtsne(t(corrected), pca = FALSE, perplexity = 100)
reducedDims(cur_sce)$TSNE <- tsne$Y



# Clustering on corrected data
g <- buildSNNGraph(corrected, k = 10)
clusters <- igraph::cluster_louvain(g)$membership

# Check what clusters overlap with nonepithelial cell types
tmp<-reshape2::dcast(plyr::count(cbind(clusters,cur_sce$tissue_type)), formula = x.clusters ~ x.V2, fill = 0)
## Using freq as value column: use value.var to override.
tmp<-tmp$x.clusters[tmp$NonEpithelial == apply(as.matrix(tmp[,2:5]), 1, max)]
# View(tmp)
# Exclude immune and stromal clusters
ImmuneTF <- clusters
ImmuneTF <- ifelse(ImmuneTF %in% tmp, "nonepi", "epi")

# Visualize clustering with low alpha for immune and stromal cells
ggplot(data.frame(tSNE1 = tsne$Y[,1],
                  tSNE2 = tsne$Y[,2],
                  clusters = as.factor(clusters),
                  ImmuneTF =ImmuneTF)) + 
  geom_point(aes(tSNE1, tSNE2, colour = clusters, alpha = ImmuneTF), size = 0.5) +
  scale_alpha_manual(values = c("epi" = 1 , "nonepi" = 0.05)) 

#andomize the order of cells
jittered <- sample(ncol(cur_sce))

#add new colour for Novel cell types
colour_vector<-metadata(cur_sce)$colour_vector
colour_vector["NSCJ_novel"]<-"orange"
cur_sce$Tissue[cur_sce$cell_type %in% c("C1", "C2", "C3", "C4")]<-"NSCJ_novel"

# Visualize tsne
p.all.cells <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[jittered,1],
                                 tsne2 = reducedDims(cur_sce)$TSNE[jittered,2],
                                 tissue = colData(cur_sce)$Tissue[jittered],
                                 ImmuneTF =ImmuneTF[jittered])) + 
  geom_point(aes(tsne1, tsne2, alpha = ImmuneTF), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue, alpha = ImmuneTF), size = 0.5) + 
  scale_color_manual(values = colour_vector) + 
  scale_alpha_manual(values = c("epi" = 1 , "nonepi" = 0.05)) +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()
  ) + 
  xlab("t-SNE 1")  + 
  ylab("t-SNE 2") + 
  guides(colour = guide_legend(override.aes = list(size=4), title = "Tissue Type"),
         alpha = guide_legend(override.aes = list(size=4), title = "Cell Type")
  )

p.all.cells

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/All_tissue_types-tsne.pdf", p.all.cells, width = 7, height = 5, useDingbats = FALSE)

# restore annotation
cur_sce$Tissue[cur_sce$cell_type %in% c("C1", "C2", "C3", "C4")]<-"NSCJ"


# Tissue types
p.all.cells.tissue_type <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[jittered,1],
                                             tsne2 = reducedDims(cur_sce)$TSNE[jittered,2],
                                             tissue = colData(cur_sce)$tissue_type[jittered])) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = c("darkblue", "grey40", "darkred", "orange" )) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()) + xlab("t-SNE 1")  + ylab("t-SNE 2") + guides(colour = guide_legend(override.aes = list(size=4), title = "Cell Type"))

p.all.cells.tissue_type

# Cell type
colour_vector <- vector(length = length(unique(cur_sce$cell_type)))
names(colour_vector) <- unique(cur_sce$cell_type)
colour_vector["Superficial"] <- colorRampPalette(c("white", "dark red"))(10)[10]
colour_vector["Basal"] <- colorRampPalette(c("white", "dark red"))(10)[4]
colour_vector["Suprabasal"] <- colorRampPalette(c("white", "dark red"))(10)[6]
colour_vector["Intermediate"] <- colorRampPalette(c("white", "dark red"))(10)[8]

colour_vector["Foveolar_differentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[10]
colour_vector["Endocrine"] <- colorRampPalette(c("white", "dark blue"))(10)[10]
colour_vector["Undifferentiated"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[3]
colour_vector["Foveolar_Intermediate"] <- colorRampPalette(c("white", "#4DBBD5FF"))(10)[6]
colour_vector["Chief"] <- colorRampPalette(c("white", "dark blue"))(10)[6]
colour_vector["Parietal"] <- colorRampPalette(c("white", "dark blue"))(10)[3]
colour_vector["Immune"] <- "grey40"
colour_vector["Stromal"] <- "grey60"
colour_vector["Mucous"] <- "saddlebrown"
colour_vector["Oncocytes"] <- "burlywood3"
colour_vector["Myo-epithelial"] <- "brown"
colour_vector["Duct_Intercalating"] <- "burlywood4"

colour_vector["C4"] <- "saddlebrown"
colour_vector["C3"] <- "burlywood3"
colour_vector["C2"] <- "burlywood4"
colour_vector["C1"] <- "orange"


p.all.cells.cell_type <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[jittered,1],
                                           tsne2 = reducedDims(cur_sce)$TSNE[jittered,2],
                                           tissue = colData(cur_sce)$cell_type[jittered])) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = colour_vector) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        legend.background = element_blank(),
        legend.key = element_blank()
  ) + 
  xlab("t-SNE 1")  + 
  ylab("t-SNE 2") + 
  guides(colour = guide_legend(override.aes = list(size=4), title = "Cell Type")
  )

p.all.cells.cell_type

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/All_cell_types-tsne.pdf", p.all.cells.cell_type, width = 7, height = 5, useDingbats = FALSE)

# Visualize patient
# Colouring for patient
colour_patient <- vector(length = length(unique(cur_sce$Patient)))
names(colour_patient) <- unique(cur_sce$Patient)
colour_patient <- brewer.pal(12, "Set3")

p.all.cells.patient <- ggplot(data.frame(tsne1 = reducedDims(cur_sce)$TSNE[,1],
                                         tsne2 = reducedDims(cur_sce)$TSNE[,2],
                                         tissue = colData(cur_sce)$Patient)) +
  geom_point(aes(tsne1, tsne2), colour = "black", size = 1) + 
  geom_point(aes(tsne1, tsne2, colour = tissue), size = 0.5) + 
  scale_color_manual(values = colour_patient) + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.background = element_blank(), 
        axis.line = element_line(colour = "grey"))
p.all.cells.patient

#Get the expression values
genes<-c("MUC5B", "KRT7", "KRT5", "TP63", "CHGA", "MUC5AC", "KRT8", "KRT4", "KRT14", "PTPRC", "MUC2")

meanexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(paste(colData(cur_sce)$Tissue, colData(cur_sce)$cell_type, sep = "_")), mean)
meanexpression <- melt(meanexpression)
## Using Group.1 as id variables
colnames(meanexpression) <- c("Cell_type", "gene", "mean_expression")

propnozero <- function(x) {
  length(x[x>1])/length(x)
}

nonzeroexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(paste(colData(cur_sce)$Tissue, colData(cur_sce)$cell_type, sep = "_")), propnozero)
nonzeroexpression <- melt(nonzeroexpression)
## Using Group.1 as id variables
colnames(nonzeroexpression) <- c("Cell_type", "gene", "proportion")

expression.df <- merge(meanexpression, nonzeroexpression )
expression.df$gene <- rowData(cur_sce)$Symbol[match (expression.df$gene, rowData(cur_sce)$ID)]
expression.df <- expression.df[!grepl("Immune|Stromal", expression.df$Cell_type),]
expression.df$Cell_type <- factor(expression.df$Cell_type, levels = c("NE_Basal", "NE_Suprabasal", "NE_Intermediate", "NE_Superficial",
                                                                      "NG_Undifferentiated","NG_Foveolar_Intermediate", "NG_Foveolar_differentiated", "NG_Endocrine", "NG_Parietal", "NG_Chief",
                                                                      "NSCJ_Basal", "NSCJ_Suprabasal", "NSCJ_Intermediate", "NSCJ_Superficial", "NSCJ_Undifferentiated","NSCJ_Foveolar_Intermediate", "NSCJ_Foveolar_differentiated", "NSCJ_Endocrine", "NSCJ_C1", "NSCJ_C2", "NSCJ_C3", "NSCJ_C4",
                                                                      "SMG_Duct_Intercalating", "SMG_Mucous", "SMG_Oncocytes", "SMG_Myo-epithelial"))
expression.df$gene <- factor(expression.df$gene, levels = genes)

expression.df$Tissue_type <- NA
expression.df$Tissue_type[grepl("Basal|Suprabasal|Intermediate|Superficial", expression.df$Cell_type)] <- "Oesophageal"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine")] 
## character(0)
expression.df$Tissue_type[grepl("Undifferentiated|Foveolar_Intermediate|Foveolar_differentiated|Endocrine|Chief|Parietal", expression.df$Cell_type)] <- "Gastric" 
expression.df$Tissue_type[grepl("C1|C2|C3|C4", expression.df$Cell_type)]<- "Novel"
expression.df$Tissue_type[grepl("SMG", expression.df$Cell_type)]<- "SMG"



expression.df$mean_expression2 <- ifelse(expression.df$mean_expression >4, yes = 4, no = expression.df$mean_expression )


expression.plot <- ggplot(expression.df) + 
  geom_point(aes(y = gene, x = Cell_type, size = mean_expression2, colour = Tissue_type)) + 
  theme_bw() + 
  theme(panel.border = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(), 
        axis.line = element_line(colour = "black")
  ) +
  scale_size_continuous(range=c(0, 3), limits = c(0,4), breaks = c(0,1,2,3,4)) + 
  scale_color_manual(values = c("#4DBBD5FF", "orange", "darkred","#B09C85FF" )) +
  theme(axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1)) +
  guides(colour = guide_legend(override.aes = list(size=4), title = "Tissue Type"),
         size = guide_legend(title = "Mean Expression"))

print(expression.plot)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/All_tissues_expression.pdf", expression.plot, width = 6, height = 6, useDingbats = FALSE)

# Let's do the same but merge the tissue types and just look at cell types

#Get the expression values
genes<-c("MUC5B", "KRT7", "KRT5", "TP63", "CHGA", "MUC5AC", "KRT8", "KRT4", "KRT14", "PTPRC", "MUC2")

meanexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), mean)
meanexpression <- melt(meanexpression)
## Using Group.1 as id variables
colnames(meanexpression) <- c("Cell_type", "gene", "mean_expression")

propnozero <- function(x) {
  length(x[x>1])/length(x)
}

nonzeroexpression <- aggregate(as.data.frame(t(as.matrix(logcounts(cur_sce)[rowData(cur_sce)$Symbol %in% genes,]))), list(colData(cur_sce)$cell_type), propnozero)
nonzeroexpression <- melt(nonzeroexpression)
## Using Group.1 as id variables
colnames(nonzeroexpression) <- c("Cell_type", "gene", "proportion")

expression.df <- merge(meanexpression, nonzeroexpression )
expression.df$gene <- rowData(cur_sce)$Symbol[match (expression.df$gene, rowData(cur_sce)$ID)]
expression.df$Cell_type <- factor(expression.df$Cell_type, levels = c("Immune", "Stromal", "Basal", "Suprabasal", "Intermediate", "Superficial", "Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine", "Chief", "Parietal", "C1", "C2", "C3", "C4", "Duct_Intercalating", "Mucous", "Oncocytes", "Myo-epithelial"))
expression.df$gene <- factor(expression.df$gene, levels = genes)

expression.df$Tissue_type <- NA
expression.df$Tissue_type[expression.df$Cell_type %in% c("Immune", "Stromal")] <- "Nonepithelial"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Basal", "Suprabasal", "Intermediate", "Superficial")] <- "Oesophageal"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Undifferentiated","Foveolar_Intermediate", "Foveolar_differentiated", "Endocrine","Chief", "Parietal")] <- "Gastric"
expression.df$Tissue_type[expression.df$Cell_type %in% c("C1", "C2", "C3", "C4")] <- "Novel"
expression.df$Tissue_type[expression.df$Cell_type %in% c("Duct_Intercalating", "Mucous", "Oncocytes", "Myo-epithelial")] <- "SMG"

expression.df$mean_expression2 <- ifelse(expression.df$mean_expression >4, yes = 4, no = expression.df$mean_expression )


expression.plot <- ggplot(expression.df) + 
  geom_point(aes(y = gene, x = Cell_type, size = mean_expression2, colour = Tissue_type)) + 
  theme_bw() + 
  theme(
    panel.border = element_blank(),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(), 
    axis.line = element_line(colour = "black")
  ) +
  scale_size_continuous(range=c(0, 3), limits = c(0,4), breaks = c(0,1,2,3,4)) +
  scale_color_manual(values = c("#4DBBD5FF", "grey40", "orange", "darkred", "#B09C85FF")) +
  theme(axis.text.x=element_text(angle = 45, vjust = 1, hjust = 1)) +
  guides(
    colour = guide_legend(override.aes = list(size=4), title = "Tissue Type"),
    size = guide_legend(title = "Mean Expression")
  )



print(expression.plot)

ggsave("~/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/All_tissues_expression_cell_types.pdf", expression.plot, width = 5, height = 6, useDingbats = FALSE)

Plot circular dendrogram of all clusters

To estimate the similarity between all cell types, we compute an averaged expression profile for each cell-type and perform hierarchical cluster analysis.

# We will perform this analysis on the corrected and uncorrected counts (uncorrected in supplements)
clusters <- paste(colData(cur_sce)$Tissue, colData(cur_sce)$Tissue_cluster, sep = "_")
mat <- matrix(data = NA, ncol = length(unique(clusters)), nrow = nrow(corrected))
colnames(mat) <- unique(clusters)

for(i in unique(clusters)){
  mat[,i] <- rowMeans(corrected[,clusters == i])
}

# Rename the matrix to contain the actual cell-type labels
for(i in 1:ncol(mat)){
  colnames(mat)[i] <- unique(as.vector(cur_sce$cell_type[cur_sce$Tissue == sub("_[0-9]*$", "", colnames(mat)[i]) &
                                             cur_sce$Tissue_cluster == sub("^[A-Z2]*_", "", colnames(mat)[i])]))
}


# Calculate euclidean distance on corrected counts
dend <- hclust(dist(t(mat), method = "euclidean"), method = "ward.D2")
plot(as.phylo(dend), type = "fan", 
     tip.color = metadata(sce)$colour_vector[sub("_[0-9]*$", "", unique(clusters))])

dev.off()
## null device 
##           1
pdf("/home/karolno/Dropbox/Postdoc/2019-12-29_BE2020/Figures/Figure_2/Tree_corrected_counts.pdf", width = 10, height = 10, useDingbats = FALSE)
plot(as.phylo(dend), type = "fan", 
     tip.color = metadata(sce)$colour_vector[sub("_[0-9]*$", "", unique(clusters))])
dev.off()
## null device 
##           1

End matters

sessionInfo()
## R version 3.6.2 (2019-12-12)
## Platform: x86_64-redhat-linux-gnu (64-bit)
## Running under: Fedora 31 (Workstation Edition)
## 
## Matrix products: default
## BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so
## 
## locale:
##  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
##  [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
##  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] GGally_1.5.0                destiny_3.0.1              
##  [3] dbscan_1.1-5                princurve_2.1.4            
##  [5] dynamicTreeCut_1.63-1       gridExtra_2.3              
##  [7] ape_5.3                     knitr_1.28                 
##  [9] reshape2_1.4.3              corrplot_0.84              
## [11] viridis_0.5.1               viridisLite_0.3.0          
## [13] edgeR_3.28.0                limma_3.42.2               
## [15] RColorBrewer_1.1-2          pheatmap_1.0.12            
## [17] Rtsne_0.15                  openxlsx_4.1.4             
## [19] DropletUtils_1.6.1          scater_1.14.6              
## [21] ggplot2_3.2.1               scran_1.14.6               
## [23] SingleCellExperiment_1.8.0  SummarizedExperiment_1.16.1
## [25] DelayedArray_0.12.2         BiocParallel_1.20.1        
## [27] matrixStats_0.55.0          Biobase_2.46.0             
## [29] GenomicRanges_1.38.0        GenomeInfoDb_1.22.0        
## [31] IRanges_2.20.2              S4Vectors_0.24.3           
## [33] BiocGenerics_0.32.0        
## 
## loaded via a namespace (and not attached):
##   [1] readxl_1.3.1             RcppEigen_0.3.3.7.0      plyr_1.8.5              
##   [4] igraph_1.2.4.2           lazyeval_0.2.2           splines_3.6.2           
##   [7] sp_1.3-2                 RcppHNSW_0.2.0           digest_0.6.24           
##  [10] htmltools_0.4.0          magrittr_1.5             R.utils_2.9.2           
##  [13] xts_0.12-0               colorspace_1.4-1         haven_2.2.0             
##  [16] xfun_0.12                dplyr_0.8.4              crayon_1.3.4            
##  [19] RCurl_1.98-1.1           hexbin_1.28.1            zoo_1.8-7               
##  [22] glue_1.3.1               gtable_0.3.0             zlibbioc_1.32.0         
##  [25] XVector_0.26.0           car_3.0-6                BiocSingular_1.2.1      
##  [28] Rhdf5lib_1.8.0           DEoptimR_1.0-8           HDF5Array_1.14.2        
##  [31] abind_1.4-5              VIM_5.1.0                scales_1.1.0            
##  [34] ggplot.multistats_1.0.0  ggthemes_4.2.0           Rcpp_1.0.3              
##  [37] laeken_0.5.1             dqrng_0.2.1              foreign_0.8-72          
##  [40] rsvd_1.0.2               proxy_0.4-23             vcd_1.4-5               
##  [43] reshape_0.8.8            pkgconfig_2.0.3          R.methodsS3_1.8.0       
##  [46] farver_2.0.3             nnet_7.3-12              locfit_1.5-9.1          
##  [49] tidyselect_1.0.0         labeling_0.3             rlang_0.4.4             
##  [52] munsell_0.5.0            cellranger_1.1.0         tools_3.6.2             
##  [55] ranger_0.12.1            batchelor_1.2.4          evaluate_0.14           
##  [58] stringr_1.4.0            yaml_2.2.1               zip_2.0.4               
##  [61] robustbase_0.93-5        purrr_0.3.3              nlme_3.1-142            
##  [64] R.oo_1.23.0              compiler_3.6.2           beeswarm_0.2.3          
##  [67] curl_4.3                 e1071_1.7-3              smoother_1.1            
##  [70] tibble_2.1.3             statmod_1.4.33           stringi_1.4.5           
##  [73] highr_0.8                RSpectra_0.16-0          forcats_0.4.0           
##  [76] lattice_0.20-38          Matrix_1.2-18            vctrs_0.2.2             
##  [79] pillar_1.4.3             lifecycle_0.1.0          lmtest_0.9-37           
##  [82] BiocNeighbors_1.4.1      data.table_1.12.8        bitops_1.0-6            
##  [85] irlba_2.3.3              R6_2.4.1                 pcaMethods_1.78.0       
##  [88] rio_0.5.16               vipor_0.4.5              codetools_0.2-16        
##  [91] boot_1.3-23              MASS_7.3-51.4            assertthat_0.2.1        
##  [94] rhdf5_2.30.1             withr_2.1.2              GenomeInfoDbData_1.2.2  
##  [97] hms_0.5.3                grid_3.6.2               tidyr_1.0.2             
## [100] class_7.3-15             rmarkdown_2.1            DelayedMatrixStats_1.8.0
## [103] carData_3.0-3            TTR_0.23-6               scatterplot3d_0.3-41    
## [106] ggbeeswarm_0.6.0